Merge pull request #1 from kri5/wip-datasync

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Implement data sync and several other changes that should be separate commits

The larger changes are:
- metadata sync uses the replica log for retrying after errors
- command line usage is simpler, and requires fewer options
- source and destination are gotten from / validated against
  the region map, with unit tests

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Add forgotten files for running tests
Fix option parsing for destination arg

As mentionned at http://docs.python.org/3.4/library/argparse.html#nargs,
nargs=1 will not provide the default behaviour, but instead will produce
a list of args, and that is not what we want.

This patch uses nargs=None to provide default behaviour instead.

As it is a positionnal argument, we can't use required option.

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>