Move is_handleable checks from Udisks to Mounter

This will allow to extend the behaviour of is_handleable with config
options passed to the Mounter instance. The Udisks dbus wrapper should
have nothing to do with this kind of udiskie internal logic.

NOTE: Daemon now reports changes about any devices, not only handleable
devices. For the automounter this will have no effect, besides an
increased number of warning messages when trying to mount unhandleable
devices with the Mounter instance. However, the notification utility may
now report about internal device state changes. I don't consider this
harmful for now.

NOTE: The generation algorithm for the tray icon is modified to directly
accept the list of handleable devices. With the existing is_handleable()
criteria some information about actions on intermediary devices (such as
locking a LUKS holder partition) will not be displayed.
Relax is_handleable check

By now, an increased number of devices can be "handled" by udiskie,
compared to the original version. Rather than being only able to mount
the following methods have been added:

- unlock LUKS slave partitions
- lock LUKS holder partitions
- detach external drives
- eject external media

Checking whether any of the actions can be performed on a given device
is rather tedious. For now, the is_handleable check is thus relaxed to
check only if the device is external.
Simplify InvalidFilter exception
Refactor filter module

The implementation is now much more straight forward and easy to
understand.
Add special value for options: __ignore__

This option tells udiskie not to handle the device.
Add unit tests for udiskie.match

I hope this proves my modifications to be working.
Merge pull request #4 from coldfix/ignore-device-filter

Ignore device; filters.conf documentation