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