Added workaround for rhbz#920763

- we must not use '__MethodParameters', Pegasus does not like it
In addition, moved indication properties from CIMInstance construnctor
to have all properties set in the same way.
Add indication support to the test framework.
Added possibility to set AffectedElements when a job finishes.

Job Control Subprofile says, that when a job finishes, it can point to the
resulting element using LMI_AffectedStorageJobElement. Therefore we should
add support for it.
Fixed job returning an error

We should pass CIMInstance instead of CIMError as property.
Added LMI_FileSystemConfigurationService.DeleteFileSystem.
Allow multiple storage actions to be run in one job.

Sometimes we need to execute multiple StorageActions in one
openlmi.storage.util.storage.do_storage_action call, e.g. when destroying
btrfs filesystem.

do_storage_action() now accepts array of actions instead of single action.

Also, this patch removes wiping of MD RAID metadata from destroyed arrays,
the code is obsolete now.
Move the ugly hack to remove MD metadata to MDRAIDStorageExtent.
Return device from get_format_for_id()

In most cases, we need both the format and the device when working with
device formats. Therefore get_format_for_id() shold return both.
Added get_uuid() to FileSystemProvider

UUID is hard to get for btrfs, let's add special method for it and let btrfs
override it.
Added btrfs format support.

The btrfs filesystem can be created and deleted. No subvolumes support.

LMI_LocalFileSystem and its associations now support multiple devices
composing single filesystem.
Add UUID property to LMI_LocalFileSystem.

Also, use device name as ElementName, it's more friendly than uuid.
Added test for FileSystemConfigurationService.
Added logging to init and shutdown CIMOM callbacks.
Allow python to exit the provider even if there are threads running.

The JobManager and IndicationManager threads are marked as daemon so we
don't need to stop them manually on exit.
Added documentation of filesystem management.
Ignore MD RAIDs which are not active.

Now that Blivet does not start MD RAIDs on init, we can encounter some
MDRAIDArrayDevices with status=False, which tells that the RAID
is not running. We should not report these devices (at least now).
Added assertCIMNameEquals() to compare two CIMInstanceNames.

The names must be equal except their hostname, which is not checked.
Added method invoke_async_method() to test framework to call a method and wait for job.
Create MD RAID asynchronously.

CreateOrModifyMDRAID() now returns a job.
Added method to destroy MD RAID asynchronously.