Refactor Deployment.charm_cache

- Cache misses are proxied through to get_charm() transparently so that
  explicit population of that cache is no longer necessary.

Signed-off-by: Tim Van Steenburgh <tvansteenburgh@gmail.com>
Make sure charm is cached under service name

Signed-off-by: Tim Van Steenburgh <tvansteenburgh@gmail.com>
Fix load() not setting up services properly

- Call add() for each service in the deployment to make sure
  subordinates are handled properly.

Signed-off-by: Tim Van Steenburgh <tvansteenburgh@gmail.com>
Don't overwrite env name with bundle name

Signed-off-by: Tim Van Steenburgh <tvansteenburgh@gmail.com>
Convert to abspath to ensure valid basename

Signed-off-by: Tim Van Steenburgh <tvansteenburgh@gmail.com>
Refactor CharmCache for better encapsulation

Signed-off-by: Tim Van Steenburgh <tvansteenburgh@gmail.com>
Merge pull request #36 from tvansteenburgh/lp-1324272

Refactor Deployment.charm_cache