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>
Adds requirements-dev.txt to fix teuthology runs

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