internal/v4: fix meta endpoints

We were printing duplicate endpoints in the /meta list.
Also, when retrieving /meta/any with all meta endpoints included,
it was failing because color was not recognised.
Merge pull request #163 from rogpeppe/072-fix-metadata

internal/v4: fix meta endpoints

We were printing duplicate endpoints in the /meta list.
Also, when retrieving /meta/any with all meta endpoints included,
it was failing because color was not recognised.
internal/router: allow top level meta endpoint list
Merge pull request #167 from rogpeppe/073-router-allow-top-level-meta-list

internal/router: allow top level meta endpoint list

We want to be able to find all meta endpoints without
necessarily inventing an entity id.
add CORS headers on archive endpoint
Merge pull request #164 from jrwren/v4

add CORS headers on archive endpoint

https://github.com/juju/charmstore/issues/146
reenable tests when ES disabled; remove ElasticSearchTestPackage
Merge pull request #171 from rogpeppe/075-reenable-tests

reenable tests when ES disabled; remove ElasticSearchTestPackage

Any package that was using ElasticSearchTestPackage would
have all its tests disabled when JUJU_TEST_ELASTICSEARCH=none.
This avoids that behaviour.
Boost Promulgated Charms

Charms in the flat namespace are boosted above similar ones
in a user namespace.
Merge pull request #173 from mhilton/search-boost-promulgated

Boost Promulgated Charms

Charms in the flat namespace are boosted above similar ones
in a user namespace.
router: implement RelativeURLPath
* experimental boosting & name resolution
* adding fields to search
* updated schema
Merge pull request #177 from rogpeppe/076-relative-url

router: implement RelativeURLPath

We can use this for generating correct relative URLs in pages that
we serve (we'll use it initially in the generated SVGs for bundles).

Also add some copyright notices that were needed.
Merge pull request #180 from urosj/v4

CS Search: Experimental boosting & name resolution
Allow ngrams in URL text.

This sorts out a number of search issues:
 * ngrams match in URLs
 * Bundle Tags are supported in search
 * Support for charms and bundles with revision 0
Merge pull request #182 from mhilton/search-url-ngrams

Allow ngrams in URL text.

This sorts out a number of search issues:
 * ngrams match in URLs
 * Bundle Tags are supported in search
 * Support for charms and bundles with revision 0
Only index latest charm version.

Use elasticsearch versioning to make sure that only
the latest version of the charm or bundle is indexed.
Therefore only returning the latest version in search
results.
Merge pull request #178 from mhilton/search-index-only-latest-version

Only index latest charm version.

Use elasticsearch versioning to make sure that only
the latest version of the charm or bundle is indexed.
Therefore only returning the latest version in search
results.