cephadm: support --infer-name option for lazy devs
Add an --infer-name/-i option to the cephadm enter command. This new
option is a spin on --name/-n but allows the value to be partial.
The first part of the value must be a service type (like `mgr`, `mds`,
`nfs`, etc). That can then be followed optionally by a dot (.) and
a part (or whole) of an id. For example:
Enter the one and only mgr container running on this host:
```
cephadm enter -i mgr
```
Enter a (primary) smb container running on this host belonging to
the virtual cluster "cluster1", without specifying random chars or
rank values:
```
cephadm enter -i smb.cluster1
```
If the partial name does not match any services on the host or it
matches more than 1 service on the host it will return an error.
In the case of >1 service you can then supply more characters in
the partial id to narrow down the match. For example:
```
cephadm enter -i osd
Inferring fsid
bf7116b2-2b9d-11f0-bb35-
525400220000
ERROR: too many daemons match 'osd' (osd.2, osd.5)
/tmp/cephadm enter -i osd.2
Inferring fsid
bf7116b2-2b9d-11f0-bb35-
525400220000
Inferring daemon osd.2
[ceph: root@ceph0 /]#
```
Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit
211e677f1d42ea3de76981128b18f1c914841d27)