mds: Conform to style for class  BacktraceInfo

The cinode_backtrace_info_t started out as a struct,
but now that its a class, we should follow guidelines
and use BacktraceInfo.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
mds: Add config option for log segment size

The mds log segment size is chosen from the
default layout object size (4MB).  Add a parameter
to the config to enable setting the log segment
size to an alternate value.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
libcephfs:  Add functions to output config as str

Utilize the ceph config parsing code to modify a config file by
adding a conf_show method/function to the interface, so that we
can load a config, set a config value, and then using show, rewrite
the config file.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
mds:  Pass error up to finisher for fetch_backtrace

This can be squashed.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
mds: Debugging for backtraces

This can be squashed.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
mds: Remove forward pointers before backtrace

Fix a race where the main backtrace was getting removed
with the forward pointers, causing inconsistency (leaks
of forward pointers) if the mds crashed during removal.
Instead, we remove the backtrace _after_ all the forward
pointers are removed.

(This can probably be squashed).

Signed-off-by: Sam Lang <sam.lang@inktank.com>