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
[Client] Fix possible goroutine leak.

Running goroutines with pullLayer are blocked to send error of a
pull operation. If we abort pulling without notify them about
cancelation they will get stucked forever. To avoid this possible
leak cancelCh was introduced. In case of abort we close that channel
to notify other goroutines about cancelation.
Adds a test for concurrent storagedriver Write/Read Stream operations

This test is currently failing and Skipped for IPC drivers
Typo fix
Merge pull request #766 from noxiouz/fix_possible_goroutine_leak

[Client] Fix possible goroutine leak in pull
Merge pull request #767 from BrianBland/ng-storagedriver-concurrency-test

Adds a test for concurrent storagedriver Write/Read Stream operations
Merge pull request #756 from docker/test-drone

Move to own dev image
[Client] Fix possible goroutine leak in push.

The same as 5a804ac05bc3facd61953908da99310a257727a1
Merge pull request #770 from noxiouz/fix_leak_in_push

[Client] Fix possible goroutine leak in push.
Move notifications to dt