Rework client.Interface to meet upstream

This is part of the work introducing kubectl to OpenShift ([trello#390](https://trello.com/c/1CltgO0m/390-13-update-cli-to-use-kubectl))
This addresses #439 and #398.

/fyi @derekwaynecarr @pmorie @smarterclayton 
User's do not appear to be namespaced in etcd, so why are we treating them as such here?

Shouldn't it just be client.Users().Get("~")