task: move Filesystem class to shared location

...in preparation for tests other than mds_journal_migration
to use it.

Signed-off-by: John Spray <john.spray@redhat.com>
task: create FuseMount class from ceph_fuse

This is for use by other tasks that need filesystem
mounts under their own control.

Signed-off-by: John Spray <john.spray@redhat.com>
task: refactor kclient into KernelMount

Additionally make both kclient and ceph_fuse
tasks yield a collection of CephFSMount
objects so that subsequent tasks can
retrieve them.

Signed-off-by: John Spray <john.spray@redhat.com>
task/mds_journal_migration: only mount my client

Pass explicit client ID list to ceph_fuse context so
that it doesn't try to mount all clients in the config,
in case there are other clients.

Also allow configuration to specify which client
this task should use.

Signed-off-by: John Spray <john.spray@redhat.com>
task: add mds_client_recovery

This task exercises the CephFS session recovery
behavior.

Signed-off-by: John Spray <john.spray@redhat.com>
task: fix admin_socket for non-int ids

This was working for OSDs and for my config
where MDS happened to have numeric ID, but
in general service IDs are strings, not ints.

Signed-off-by: John Spray <john.spray@redhat.com>
task/cephfs: use dedent for embedded python

Signed-off-by: John Spray <john.spray@redhat.com>
task/kclient: remove redundant double loop

Signed-off-by: John Spray <john.spray@redhat.com>
Merge pull request #287 from ceph/wip-mds-sessions

Wip mds sessions