LDAP filters: joker filters treated separately

Instead of checking if the filter value contains a joker in each test,
specific "comparator" methods have been added:

- _comparator_presence: if the filter value is just '*'
- _comparator_star: if the filter contains a '*', with the '='
  comparator
- _comparator_approximate_star: like _comparator_star, but with the '~='
  comparator

Joker presence tests have been removed from the _comparator_eq method.
LDAP Filter: Tiny optimization (again...)

Replaced isinstance(value, (list, tuple, set)) by
isinstance(value, ITERABLES).
This avoids to create a new tuple at each test (visible when running
thousands of tests)
add_service_listener accepts a specification

- Same optimization as get_service_reference: test if the specification
  is the one the listener wants before calling the filter matches()
  method
- Public API still compatible with the previous version
- Pelix bundles updated to use this new parameter
ServiceReference: simplified comparisons

- Only kept __eq__ and __lt__, other methods are generated with
  functools.total_ordering()
- Removed type checking in method: they raise an error if tested against
  other types, but they are not supposed to be melt with other objects
=> This speeds up the service registration process by at least 25%