charm: add support for reading bundle directories

Bundle archive support is hinted at but not
yet implemented.

Also add a drive-by fix for the fact that ReadCharm
could return a non-nil Charm on error.
charm: add comments to Bundle type
Merge pull request #13 from rogpeppe/004-bundledir

charm: add support for reading bundle directories
charm: factor zipOpener from CharmArchive

	This is preparatory work for adding BundleArchive
charm: make zipOpener an interface
Merge pull request #14 from rogpeppe/005-bundlearchive-1

charm: factor zipOpener from CharmArchive