Make ceph::repo ensurable + add support for emperor

The ensure argument is added to ceph::repo and used in integration tests
to make sure the repository is removed the repository before installing
it. The integration tests do not re-create a virtual machine for each
test and the leftovers of the previous test must be cleaned.

The emperor Ceph release is now supported to be the default.

Closes-Bug: #1255940

Change-Id: Ib6da26b95be9f549d55bd88f867b43d6aa536f10
Signed-off-by: Loic Dachary <loic@dachary.org>
README.md: fix typo in link to USECASES.md

Change-Id: Ie6cedce40e96a023dd8591cbd136bbc75319166c
Signed-off-by: Loic Dachary <loic@dachary.org>
Merge "Make ceph::repo ensurable + add support for emperor"
ceph::mon create or destroy monitors

* ceph::mon resource

  create a MON if ensure == present or destroy one if absent

  all combinations of keys / keyring as specified in the blueprint are
  supported

* integration tests cover all cases and unit tests are implemented to
  ensure syntax correctness

* minor corrections to other classes are included ( two nodes for
  integration tests, default values for the ceph class etc. )

* A ceph::mons class wrapper is created for compatibility with
  scenario_node_terminus

Closes-Bug: #1251443

Change-Id: Ic56a4124738006f7946ee9c166295f7048cb7854
Signed-off-by: Loic Dachary <loic@dachary.org>