mon: implement --osd-pool-default-crush-replicated-rule

--osd-pool-default-crush-replicated-rule replaces
--osd-pool-default-crush-rule

If --osd-pool-default-crush-rule is set to a value that is not the
default, it takes precedence over
--osd-pool-default-crush-replicated-rule and a deprecation warning is
displayed.

The CrushWrapper::get_osd_pool_default_crush_replicated_rule helper is
used to implement this behaviour.

Signed-off-by: Loic Dachary <loic@dachary.org>
mon: implement --osd-pool-default-crush-erasure-rule

It must be different from the replicated default.

Signed-off-by: Loic Dachary <loic@dachary.org>
osd: create default ruleset for erasure pools

The ruleset --osd_pool_default_crush_erasure_rule is created to be
suitable for erasure coded pools when OSDMap::build_simple is required
to build the default OSD map of a new cluster.

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