A Study on the Flying Ad-hoc Networks: Related Challenges, Routing Protocols and Mobility Models