Introduce advanced search to staff interface

Please note, this doesn't deliver the pivotal task just yet (https://www.pivotaltracker.com/story/show/69596920) - while this does deliver the new search behaviour, the additional fields specified by the task are yet to be implemented.

What this PR does deliver:
- Slight restructure of the navbar items to make room for the advanced search toggle
- Port the public advanced search behaviour to the staff interface, but enhance to allow search fields to be added and removed.
- Introduce a new schema to represent the field queries in the staff interface including a new dynamic enum - this allows us to easily manage two different field lists for the  public and staff interfaces.
- Selenium enhancement to `ensure_no_such_element` - if the element is in the DOM it must be hidden.

Also move the FrontendEnumSource into common so it can be shared by both the staff and public Rails apps.