Added tests to address issue #123.
Refactored tests code.

Mostly PEP8, but also redundant asserts.
Changed name of variable from "field" to "field_name".
Reordered methods position in XapianSearchQuery.

Also removed two @staticmethod.
Added new argument on methods to build queries.

This allows more flexibility on constructing the queries.
For now the argument is not used.
Modified how the query construction methods are chosen.

- "content" is a special field with generic search,
but now allow filters.
- parameter field_type is now retrieved from the backend and
passed to the construction methods.
Refactored _term_query query constructor.

Its interface is explained in the docstring.
Refactored _phrase_query query constructor.

Its interface is explained in the docstring.
Refactored _filter_startswith query constructor.

Its interface is explained in the docstring.
Refactored _filter_exact query constructor.

Its interface is explained in the docstring.
Refactored _filter_in query constructor.
Added method to create OR queries from list of strings.
Fixed #98 - queries are now consistent with Haystack 2.X.

Refactored _filter_contains query constructor.
Fixed #101 - Adds support to AutoQuery.
Simplified construction of Xapian queries.
Removed dependency on type long; field_type can now be datetime.
Fixed #56 - Implements single valued field facets using Xapian.

Replaces the brute force _do_field_facets with
Xapian faceting for single valued facets.

Xapian does not support multi valued facets yet; thus
the brute force is used in this case.
Fixed #109 - Raises InvalidIndexError when facet is not indexed.

Also added regression test.
Fixed #126 - Deprecates microsecond indexing.
Fixed #109 - Raises InvalidIndexError when facet is not indexed.

Also added regression test.