Improve PushManager error handling

This is a continuation of the work in #204, now in PushManager. The approach is to pass NSError to the view controller, which can then decide how best to handle the error. I also added a category method so that other view controllers could use this approach.

BTW, I'm interested in what you guys are doing with this app. Any other specific areas that need help? Feel free to get in touch.