Limit the include scope -- do not (indirectly) include leveldb to ceph-conf and cephx authentication
Introduce enable/disable server option
os/KeyValueDB: generic create(), test_init()

Let us create an implemenetation by name.  Include a test_init() method
that will instantiate an instance and verify it could start up.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 4bf929ef21b6710f60f01cb8f7095ad0a440709f)
os/KeyValueDB: make compaction interface generic

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 86a0b9dd9ad2f3b0996b3f72a79fd1b13726b4ad)
mon/MonitorDBStore: uninline init_options

These assume leveldb but we can't reference that from the header
(for ceph-dencoder's sake).  Not that this is firefly-only; upstream
this has been cleaned up.

Signed-off-by: Sage Weil <sage@redhat.com>
mon/MonitorDBStore: use generic KeyValueDB::create()

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit a2a36192c28e4961b92c576172185a915daef366)
config: allow unsafe setting of config values

Allow callers to set config values even when there is no observer.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e1418724a0da3979b1e706ccb54112d35c18f1eb)