Search web ui

This implements the new search UI in web. Changes in display of results (ordering, counts, pagination etc) will be in a future PR.

 - Search form now resembles the mock-up in https://docs.google.com/document/d/1SzCSZH1IQOKiC_aBjPhe3bFWvzW06j1dlYFWPlyActQ/edit
 - Search is now cross-group by default but can be a specified group and user
 - By default we search on all types and fields, but these can be restricted.
 - Searching with the field in the webclient top-right toolbar uses the defaults (All types, fields, groups).
 - Wild-card searching should work. ? to replace 1 character and * to replace 1 or more E.g. ?etaphase or *phase.
 - Date range should work.
 - Form validation checks that text query is not empty and dates are valid (start before end etc).

Full testing of this PR is described on the updated search scenario: https://github.com/openmicroscopy/ome-internal/pull/156
No mutable defaults in a signature: `fields=[]` should be `fields=()` or `fields=None`.