[DO_NOT_MERGE] 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