Implement filter support in driver backends

Currently filtering is only done at the controller level, leading to
performance issues since we are not using native filtering capabilities
of any of the underlying backends (e.g. SQL, LDAP). This patch enables
such support.

This support is provided via a generic 'driver hints' approach, allowing
other types of hints to be added in the future.

Limitations:

- The LDAP backend does not yet support for filtering, leaving it for
  the controller level.  LDAP support will be added in a separate patch
- Filtering for service, endpoint and policy is left at the controller
  level, since these operations are not considered performance issues.
- Due to MySQL defaults, case sensitive filters are not yet well tested

Implements bp filtering-backend-support

Change-Id: If5229d89a39dca952dee3b1c4cbf3b34b8afa95b
Merge "Implement filter support in driver backends"