Fix Login Button for iOS 5 Devices

We have a tap gesture recognizer to identify when the UITableView was touched, so
we can dismiss the keyboard if a user touches outside of the text field. For some
reason iOS 5 would cancel the event of a button being pushed
(iOS 4 and 6 had no issues with this). To make this very hard to break for all
3 versions, I use reflection to check to see if the view that belongs to the
tap gesture event is of class UIButton. If we are touching a button that belongs
to the UITableView, then return false, which will prevent calling the selector
method tableViewTapped:tapGesture.
Extend private site logic for custom iOS Apps

The logic was there to account for private sites, it just needed some extra
logic to get it working with Custom iOS Apps.

I also modified the easyAppOven script to use spaces instead of tabs (Git hub wasn't
happy with tab characters). The script will now also ask the user running the
script if the site is private or not, and add the correct logic for custom
private iOS apps.
Fix Various Video Bugs

Few things to explain on my changes:

1. We now hide images if on a video step, there's no reason to keep the NoImage
   ruler in the background if a video is playing over it. This was also causing
   the image to leak out from behind the video.

2. I removed the call to MPMovieController.scalingMode because it was unneeded,
   by default it will start off as the aspect ratio we were assigning.

3. Originally we were setting the fullscreen property to be true, but we
   weren't using it correctly at all. Which meant we never were going
   fullscreen when we wanted to (if a user presses the play button).

4. I added two Notications to keep track of events, so now we correctly go
   fullscreen when the user hits the play button. When the user is done viewing
   the video, we will exit full screen and take them back to the guide step they
   were looking at.

5. Videos on iOS 6.1 were not playing at all in fullscreen, this is due to
   undocumented changes where when a video enters fullscreen, the
   "viewDidDisappear" method gets called, where we were stopping the video. To
   work with all versions of iOS, we now only stop the video if the user is not in
   full screen, which still allows us to stop the video when the view truly does
   disappear (and not just having the video go into fullscreen when the user is
   still technicaly on the view).
Fix grammar
Fix rotation issues on all versions of iOS
remove semi colon after if statement, whoops
Only enable scrolling on WebViews if we need to

Previously on every guide step and guide intro, we made the UIWebView
scrollable (this is the content that displays the bullets and text about each
step). This was annoying to users swiping through guide steps and getting
caught on text that would scroll. This now only enables the scrolling if we
need to scroll.
rename function names
Add transitions when an image or webview is done downloading.
Also change default placeholder image to NoRuler.jpg instead of the blank white
image.
Restructure category data/logic for CategoryViewController

On iFixit, we want to keep the distinction between categories and devices.
On Dozuki we want to merge that distinction, and just have categories. For some
context, this code modifies the UITableViewController that is responsible for
presenting a list of categories to the user to drill down and finally select a
guide.I tried to simplify things, I feel they were overly complicated before.
This also makes it easy to make future changes regarding differences between
iFixit/Dozuki, in case Taylor changes his mind =).
Update CategoriesViewController.m

Remove unneeded comparison
Merge pull request #15 from iFixit/use-smart-scrollingg

Only enable scrolling on WebViews if we need to
Merge pull request #14 from iFixit/fix-various-video-bugs

Fix Various Video Bugs
Merge pull request #12 from iFixit/fix-login-button-for-ios5

Fix Login Button for iOS 5 Devices
Merge pull request #13 from iFixit/add-private-login-logic-for-custom-apps

Extend private site logic for custom iOS Apps
Merge pull request #18 from iFixit/restructure-category-and-tableview-log

Restructure category data/logic for CategoryViewController
Stable version
functionality for iPhone added
Restructure category data/logic for CategoryViewController

On iFixit, we want to keep the distinction between categories and devices.
On Dozuki we want to merge that distinction, and just have categories. For some
context, this code modifies the UITableViewController that is responsible for
presenting a list of categories to the user to drill down and finally select a
guide.I tried to simplify things, I feel they were overly complicated before.
This also makes it easy to make future changes regarding differences between
iFixit/Dozuki, in case Taylor changes his mind =).
Update CategoriesViewController.m

Remove unneeded comparison