Input Source Controller + Friends

Closes #18
Parent #79 

- Removes placeholder code from input source controller
- Adds source label
- Adds selected color to checked in venue
- Adds icon for canonical source
- Exit early if no venue change
- Prevents cyclic stack bug in nav controller (i.e. same last controller)
- Prevents reloading of already active view
- Fixes bug with disappearing nav buttons (compounded translucent overlays).
- Adds source label for users
- Adds preauthentication state in the sources controller
- Adds user source table view
- Adds VBUserDataSource for fetching user sources in a venue
- Adds user table view cell for sources table
- Wires up data source refresh to checkin event
- Updates selected state of cells in the checkin controller
- Displays formatted list of available sources onced checked in
- Adds user delegate for sources table view
- Adds fade animation to table view update
- Adds HUD display on source change
- Disables `startListening` to avoid hitting parse rate limits
- Adds `equalsObject` to VBFoursquareObject for simplified comparison
- Fixes existing object save logic in upsert call
- Adds saveSource method for a user
- Adds early exit to checkin and checkout methods
- Overrides source property to allow for fallback to self
- Changes cell selection color to active (green) color
- Adds convenience function for isListeningToSelf
- Corrects count for self listening mics
- Calls upsert on checkout
- Saves only exit early if object is loaded
- Removes checkout from app start logic for VBUser because it's useless. #81
- Merge foursquare objects if a match is found