Move Digest type into discrete package

The Digest type will be fairly central for blob and layer management. The type
presented in this package provides a number of core features that should enable
reliable use within the registry. This commit will be followed by others that
convert the storage layer and webapp to use this type as the primary layer/blob
CAS identifier.
Move storage package to use Digest type

Mostly, we've made superficial changes to the storage package to start using
the Digest type. Many of the exported interface methods have been changed to
reflect this in addition to changes in the way layer uploads will be initiated.

Further work here is necessary but will come with a separate PR.
Various adjustments to digest package for govet/golint
Include testutil package needed for tar-based tests
Merge pull request #755 from stevvooe/digest-type

Move Digest type into discrete package
Updates client to newer routes and changes "layer" to "blob"
Uses new digest package instead of string digests

Also drops extraneous test package and uses testutil instead
Miscellaneous storagedriver+ipc fixes

Fixes/tests listing for keys beginning with "/"
No longer extraneously wraps Closers in ioutil.NopClosers
Uses omitempty for all ipc struct type fields
Merge pull request #764 from BrianBland/ng-storagedriver-misc-fixes

Miscellaneous storagedriver+ipc fixes
Merge pull request #758 from BrianBland/ng-client-routes-update

Updates client to newer routes and changes "layer" to "blob"
Move to own dev image