WIP: Adds push/pull client functionality

This change adds high level Push and Pull operations which use the registry client API and operate on a local object storage for image layers and manifests.

Push and Pull are currently done in serial, but will be updated to handle layer operations in parallel.

These methods rely on an ObjectStore interface  which is meant to approximate the storage behavior of the docker engine. This interface is **very** much subject to change.

@dmp42 @stevvooe