Lucene Query Builder Unification (rebased onto develop)

This is the same as gh-2802 but rebased onto develop.

----

With the migration of @dominikl's `byLuceneQueryBuilder()` method to the server in gh-2676 all other clients (OMERO.web and the CLI) need to be updated to make use of the single implementation. Testing involves showing that results from any one of the clients match the other 2 clients. Search options which should be involved include:

 * Various search types (Project, Dataset, ...)
 * Various fields ("name", "description", "annotation")
 * "acqusition date" v. "import date"

Testing user/group semantics via the CLI might be considered out-of-scope.

Follow-ons to this PR will include:
 * @joshmoore: ~~modify server-side implementation to better handle some queries~~ added here with aa21d07
 * @will-moore & @dominikl : modify what values are passed by the clients and how results are displayed.

Note: *This PR replaces gh-2784*

Description from #2823:

In order to make the choice and use of import v.
acquisition date more natural:

 * import (i.e. creation date) is used by default
 * for non-Image types, import date is used if the
   user requests "acquisitionDate" (server-side)

Description from #2854:

This change was proposed by @dominikl to handle the `very_small` v. `very-small` difference that @will-moore reported. Now, `LuceneQueryBuilder` skips both `_` and `-` when parsing in order to let Lucene handle them natively.