Added tests for the query function
Add getters and setters for options

This also gets an object set up that handles the default options.
Add backwards compatibility with the old matcher

This adds a module for the old matcher, so users can decorate a
data adapter with the module to get the old matcher functionality.

The third parameter to the old matcher, the full element, will
always be the full object now. This does not match the old
functionality, where the third parameter for a `<select>` element
would be the `<option>` element.
Add internal support for sorting options