Completion blocks for navigation controller animated operations

@ndonald2 @arrouse Just a little convenience category on UINavigation controller
Did you get to the bottom of why it's necessary to dispatch here? If so, definitely add a comment explaining why - this kind of code can be very hard to debug later. If not, at the very least document what happens when you *don't* dispatch.