internal/router: handle not-found metadata as newly specified in charm API document

Also drive-by fix untested meta listing endpoint and add test for it.
Merge pull request #40 from urosj/v4

internal/v4/api: added actions handling
sort metaNames results for consistency
Merge pull request #44 from rogpeppe/017-metadata-not-found-error

internal/router: handle not-found metadata as newly specified in charm API document

Also drive-by fix untested meta listing endpoint and add test for it.
internal/v4: refactor tests

We create a table with an entry for each kind of metadata so
that it's easy to add new entries and new tests that
test the metadata in arbitrary configurations without
writing reams of duplicated test code.

We also fix router so that it works correctly with
typed nil data, which avoids an if statement in
every metadata handler.
internal/v4: add sanity checks for metadata
	update dependencies to match juju-core's deps.
Merge pull request #45 from rogpeppe/015-api-test-refactor

internal/v4: refactor tests

We create a table with an entry for each kind of metadata so
that it's easy to add new entries and new tests that
test the metadata in arbitrary configurations without
writing reams of duplicated test code.

We also fix router so that it works correctly with
typed nil data, which avoids an if statement in
every metadata handler.
all: use errgo.

This almost entirely an automated change, made by running
the errfix comment. (code.google.com/p/rog-go/exp/cmd/errfix)
all: fix misplaced comments
Merge pull request #47 from rogpeppe/018-use-errgo

all: use errgo.

This almost entirely an automated change, made by running
the errfix comment. (code.google.com/p/rog-go/exp/cmd/errfix)