Drone: Changing the Drone listener setup for a broadcast event

This should clean up the code, and enable for users receive the events more easily
Merge branch 'master' into events
Drone: Adding method to support further implementations of the drone event's listners
Drone: Removed the interface method created at the last commit, it can be reimplemented in the future when it's needed.
ModeDetail: Cleanning up all the modeDetail fragments
Drone: Making the UI work with the new 'broadcast' listner of the drone
Merge branch 'master' into events
updated the Configuration activity to use view pager instead of tab host. this allows the user to swipe through the Configuration's tabs.
Drone: Changing the Event broadcast method to include the drone which generated the event
Drone: The type changed notification should only be sent when the type changes
Drone: Adding notification to differ a GPS lock from a GPS satellite count change.
reduced object allocations in the heartbeat dispatching code.
Merge pull request #443 from ne0fhyk/fix_heartbeat_object_allocation_issue

Issue #432: Extra Garbage collection fix
InfoMenu: If the layout of the menu has not been finished fail silently on an update.
Merge branch 'master' into events
Events: Remove the extreme logging of events.
Events: Avoid duplicated listeners on the event broadcast.
InfoMenu: fix problem with the menu on the Configuration and Editor screens

Both the Configuration and Editor activitys forget to call the super droneEventMethod, which in turns updates the Menu with drone data.
refactoring of the GCS heartbeat logic.
InfoMenu: Make sure the infomenu has an update every-time before being showed to the user.