Completion blocks for navigation controller animated operations

@ndonald2 @arrouse Just a little convenience category on UINavigation controller
good catch, should definitely be != nil. But looks like the whole `init` override can go away anyways.