A user who runs `kubectl update -f foo.json` where foo.json is a
resource in a namespace that does not match $(kubectl namespace)
may not intend to update the resource in that other namespace.
For now, return an error when the user does not explicitly set
the namespace via the CLI:
# foo.json in 'one', current is 'two'
$ kubectl update -f foo.json # FAILS
$ kubectl update --namespace=one -f foo.json # SUCCEEDS
* Ensure kubectl uses abstractions from other parts of Kube
* Begin adding abstractions that allow arbitrary objects
* Refactor "update" to more closely match allowed behavior