Fix bug with view calling view lifecycle methods

The `childViewControllers` property is often initialized to an empty array on a `UIViewController`, not `nil`. This is a more strict check to ensure that there are no childViewControllers.

Docs: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html