Services

This branch introduces service classes as an abstraction away from the BlueZ dbus interface (which is problematic for the BlueZ 5 transition).

It makes Audio, RecentConns, and blueman-assistant work for BlueZ 5 (https://github.com/blueman-project/blueman/issues/13#issuecomment-59015346). Serial support is unfinished and this change currently also breaks it for BlueZ 4!

@AlexDaniel [provided](https://github.com/blueman-project/blueman/issues/85#issuecomment-67269716) this traceback I can work on while waiting for my HC-05:

````
Function on_request_menu_items on Services Failed 
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/blueman/main/PluginManager.py", line 206, in Run
    ret = getattr(inst, function)(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/blueman/plugins/manager/Services.py", line 66, in on_request_menu_items
    add_menu_item(manager_menu, service)
  File "/usr/local/lib/python2.7/dist-packages/blueman/plugins/manager/Services.py", line 37, in add_menu_item
    if service.connected:
  File "/usr/local/lib/python2.7/dist-packages/blueman/Service.py", line 74, in connected
    return self.serial_port_id(args[0])
IndexError: tuple index out of range
````