Merge pull request #91 from urosj/v4

Blobstore: use new sha384 in blobstore
Store the machines count in the bundle extra info.
Fix machinesCount tests typos.
Merge pull request #92 from frankban/bundle-machines-count

Store the machines count in the bundle extra info.
internal/charmstore: do not use extra-info for unit and machine counts
internal/charmstore: minor changes for review
Merge pull request #93 from rogpeppe/038-move-counts

internal/charmstore: do not use extra-info for unit and machine counts

As discussed online, extra-info is not an appropriate place to store data
generated by the charm store itself. This PR changes the existing code
to store the counts directly in the entity document. A subsequent PR
will add the bundle-unit-count and bundle-machine-count endpoints
for retrieval of the counts.
internal/v4: implement meta/bundle-unit-count and meta/bundle-machine-count
Merge pull request #94 from rogpeppe/039-count-endpoints

internal/v4: implement meta/bundle-unit-count and meta/bundle-machine-count

As specified in the charm API document.
internal/v4: export Handler
rename NewHTTPHandler->NewAPIHandler, NewAPIHandler->NewAPIHandlerFunc
Merge pull request #96 from rogpeppe/040-v4-export-handler

internal/v4: export Handler

When implementing the legacy API we want access to parts of the v4 implementation
and this provides that.
internal/legacy: new package
fix tests
internal/router, internal/legacy: use TrimPrefix
Merge pull request #97 from rogpeppe/041-legacy-api

internal/legacy: new package

We add a stub server for the legacy API. It has a version of "" because
the legacy API was not versioned. Currently all endpoints remain
unimplemented.
internal/legacy: implement /charm endpoint
Merge pull request #98 from rogpeppe/042-legacy-charm

internal/legacy: implement /charm endpoint

We use some of the tests from the old server.
internal/legacy: implement charm-info endpoint
add copyright notice