Move Resource functionality to its own package

Create a unified Builder object for working with files, selectors,
types, and items that makes it easier to get multi-object functionality.

Supports all of the behaviors previously in resource.go, but with
additional flexibility to allow multi-type retrieval and access, directories,
URLs, nested objects, and lists.

Make util.ErrorList public so that tests can access individual errors
(otherwise they have to implement an error slice themselves)
Use resource package, delete older code
Make expandResourceShortcuts part of RESTMapper on client
Rename HttpClientFunc -> HTTPClientFunc
Allow kubectl get to fetch multiple resource types

Like Delete, which can now run over multiple types:

    kubectl delete pods,services -l name=foo

Get should be able to span items for label selection

    kubectl get pods,services -l name=foo