ceph: accept osd.* as a valid name

This will be used for 'ceph tell osd.* ...'

Signed-off-by: Sage Weil <sage@inktank.com>
ceph: filter out empty lines from osdids()

Signed-off-by: Sage Weil <sage@inktank.com>
ceph: implement 'ceph tell osd.* ...'

Send the command to each target.  Do this in series, for now.  Error out if
any one fails.

Later, we should do them in parallel.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/MonClient: send commands to a specific monitor

This implementation is limited: we direct our command by reopening
a session with the specific monitor.  If there is more than one of these
queued we will fail to reach either.

Signed-off-by: Sage Weil <sage@inktank.com>
librados: new rados_mon_command_target to talk to a specific monitor

Signed-off-by: Sage Weil <sage@inktank.com>
ceph: add support for 'tell mon.X ...'

Signed-off-by: Sage Weil <sage@inktank.com>
mon: remove support for 'mon tell ...' and 'osd tell ...'

It doesn't work.  The commands the ceph cli sends are vector<string>, and
the mon expects json.

Leave the MDS on in place since ceph-mds still takes strings.

Signed-off-by: Sage Weil <sage@inktank.com>
Merge branch 'wip-tell' into next

Reviewed-by: Dan Mick <dan.mick@inktank.com>