Add charm-sync command to help charm developers

charm-sync command will allow bidirectional synchronization
between the contents of a charm in a local repository and the
charm deployed as a unit.
ideally a charm developer can make local changes to the charm
and deploy them and retry running hooks, it also makes possible
for the developer to make changes in the unit while using debug
hooks and retrieve them to the local charm.