Add force=False default parameter to Mounter.eject/detach

With force=True all filesystems on the drive will be unmounted before
attempting to eject or detach. Currently, there is no possibility to
prevent race conditions from happening.
Checked attribute access in udiskie.udisks

Prevent access of attributes that are invalid in the current context,
such as device.luks_cleartext_holder if the device is not a LUKS device.
This does not deal with race conditions.
Update (fix) broken code

- udiskie.udisks: Device.is_luks_cleartext_slave: adapt to new Udisks,
  Device interfaces.

- udiskie.mount: fix obsolete version of unlock_device and the
  force=True branch of remove_device. For the latter, define a
  udiskie.udisks.Device.__eq__ operator.
Add support for LUKS devices in udisks.Device.drive
Perform minor cosmetic improvements
Ignore errors in eject_all, detach_all

With the current technique errors are to be expected when forcing a
drive to detach and then checking properties of any of its contained
devices.

TODO: check type of error and possibly print information/trace
Catch and log errors in eject_device, detach_device
Add force parameter in higher level eject/detach/unmount methods

When calling eject/detach from the CLI the force=True branch will be
used automatically.