Implement the charm-related API.

Also move MgoTestPackage suite registration out from api_test to its
own package_test.go.
Not sure. GetMetadata correctly returns an empty map if there are no includes, so the condition here is not strictly required, and would involve another nesting level in the code. It seems to me clearer without the condition. What do you think?