RoutePlanner
----------
Removed the ShortestRoutePlanner and instead created an interface called RoutePlanner. We can have different kind of RoutePlanners which take 2 routes and tell you which is the best route, depending on your criteria.

Airport
------
Got rid of getOutgoingAirports() method. As it breaks encapsulation
Also moved computeShortestRoute() from ShortestRoutePlanner to this class. Renamed it to computeBestRoute() as this is generic logic which can be used for any kind of RoutePlanner