kubectl delete command: adding labelSelector

Add a Visitor pattern on top of ResourcesFromArgs

Allows ResourcesFromArgs to return an opaque list of items and have client
commands react to them.

Change request.go to return apiserver errors for arbitrary status codes to
better respond to generic actions that don't make sense (kubectl delete operations foo)
Merge pull request #2751 from sdminonne/delete_by_labels

kubectl delete command: adding  labelSelector