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.