mon/MonCap: add new MonCap implementation

This is a new class with a new grammer.  Implementation is modeled after
OSDCap, and the semantics are based on the old MonCaps, although somewhat
different (though not in too many important ways, I think).

Note that we complete drop auid support; the semantics for that were a
complete mess.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/MonCap: define a few profiles

 - osd, mds, mon (daemons)
 - fs-client (can mount fs)
 - simple-rados-client (can use existing rados pools)

Signed-off-by: Sage Weil <sage@inktank.com>
mon/MonCap: allow daemons access to config-keys $name/*

With tests.

Signed-off-by: Sage Weil <sage@inktank.com>
mon: bump wire protocol version

We have changed MonCap encoding and command semantics (which affects
forwarding).  Bump the wire protocol version.

Signed-off-by: Sage Weil <sage@inktank.com>
ceph-object-corpus: note MForward encoding change

Signed-off-by: Sage Weil <sage@inktank.com>
mon: transition from MonCaps -> MonCap

Convert all monitor users to use the new MonCap class.

Simplify the semantics around auids by essentially dropping any meaningful
permissions enforcement around them.

Signed-off-by: Sage Weil <sage@inktank.com>
mon: wire new command map to new caps

We can drop the fullcmd nonsense entirely, yay!

Signed-off-by: Sage Weil <sage@inktank.com>
mon: weaken security check on 'log' command

The exec bit doesn't mean anything for the log; make it W.

Signed-off-by: Sage Weil <sage@inktank.com>
vstart.sh: use new mon cap profiles

Signed-off-by: Sage Weil <sage@inktank.com>
ceph: remove help.t cli test

This is dynamic and based on a running cluster's command set.  Drop it.

Signed-off-by: Sage Weil <sage@inktank.com>