Code Cleanup. Only functional change is the added permissions on the broadcasts. If I am doing too many changes in one commit, please let me know.

Overall, intent messaging *should* be clearer now to the reader. That said, I don't think the work is complete. I'd like to investigate removing the passing of arguments along with the Intent, and use the AIDL to retrieve information. Certainly is the most secure, there is no risk of introducing a broadcast 'leak' by missing/wrong permission on the broadcast. Ex: The broadcast would say only, "GPS is updated", the receiver then grabs the gps info through the AIDL.

1) Refactored the use of generic intent messaging to specific message actions, namespaced to their sending class.
* Ex: In WifiScanner.java *
Old:
Intent i = new Intent(ScannerService.MESSAGE_TOPIC);
New:
Intent i = new Intent(ACTION_WIFIS_SCANNED);

Broadcast receiver code now becomes more explicit (and clear) in terms of what messages it receives. Message cracking in onReceive becomes simplified.

Cleanup naming conventions for Intent arguments. Added consistency to using string constants for Intent arguments, rather than mixing strings and string constants in the same block of code.

2) Renamed messages to be clearer about their actions, based on what I can see the code is doing, specifically MainActivity ACTION_UNPAUSE_SCANNING and ACTION_UPDATE_UI. That is the only roles I could find for these actions, and created these names accordingly.

3) Added permissions restrictions to the message broadcasts for Cell, GPS, and WIFI. If the receiver does not have the respective permission, they cannot receive the message. I just realized while typing this, I need to see if permissions are required on the reporting broadcasts.

4) Cleaned up imports on some files, our import style is a single alphabetical block.