mon/OSDMonitor : Use user provided ruleset for replicated pool

When creating a replicated pool, currently ceph ignore the ruleset
name provided by user but use a global default ruleset.

This patch fix this bug, so the rulset specified by
 ceph osd pool create <pg_num> <pgp_num> replicated <my_ruleset_name>
can be properly set.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
The idea here is to lookup newcrush only if the ruleset_name is not found in the crush map. For instance
<pre>
  *ruleset = osdmap.crush->get_rule_id(name);
  if (*ruleset != -ENOENT)
    // found it, use it
  else {
  CrushWrapper newcrush;
  _get_pending_crush(newcrush);

  *ruleset = newcrush.get_rule_id(name);
  if (*ruleset != -ENOENT) {
    // found it, wait for it to be proposed
...
</pre>
You will find examples of this logic in a few places in OSDMonitor.