Update iOS 7 for iFixit

There were a lot of changes to be made to get code working for all three iOS
versions (iOS 5.1, 6.x, 7.X). Below are some key things I had to do:

1. Rewrite how our login view controller works. I made it modular, so anytime
   we need to access to LoginViewController, all of it's logic is tied into one
   function call. This helped me simplify a ton of code.
2. Remove shared logic between LoginViewController and GuideBookmarks. This
   made using our GuideBookmarksViewController much simpler and allows us to
   reuse code in different parts of the code base.
3. In 90% of the places where we were using a navigation bar, I wrapped said
   viewcontroller in a UINavigationController. This is due to iOS 7's status
   bar. The status bar was appearing over our viewcontrollers and causing a lot
   of edge case issues with iOS7 where we simply had a Navigation Bar with no
   UINavigation controller. I avoided these edgecases by using a 
   UINavigationController. This will force any views contained in the
   navigation controller be shifted below by 20 pixels correctly.
4. Added some macro definitions to easily separate our iOS version specific
   code.