model/auth: Use hybrid_property instead of synonym

synonym() is superseded by the hybrid extension.
model/flight: Added privacy_level column
model/flight: Added is_viewable() and is_listable() methods
model/user: Converted User.is_manager() into hybrid method
model/flight: Converted is_viewable/listable/writeable() into hybrid methods
lib/dbutil: Allow patching query with patch function
views/flights: Show only public flights in flight list
views/flight: Show details only for is_viewable() flights
views/ranking: Only use public flights for the ranking
views/user: Use only listable flights for get_largest_flights()
views/statistics: Use only listable flights for statistics
views/user: Use only listable flights for user statistics and profile page
views/flight: Handle logout on private flights properly

Redirect to index page on logout instead of showing 404
views/user: Use only is_listable() flights for takeoff locations map