Refactor Deployment.charm_cache

- Cache misses are proxied through to get_charm() transparently so that
  explicit population of that cache is no longer necessary.
- Fixes https://bugs.launchpad.net/amulet/+bug/1324272

Signed-off-by: Tim Van Steenburgh <tvansteenburgh@gmail.com>