Refactor autocomplete search

* Change `<span>` for clearing search to a `<button>`. Add
  `.link-button` CSS class to style buttons as links.
* Add Backbone view for reset button.
* Always add child views to `children` collection via `renderChild` to
  ensuring that `render` on the child is called.
* Specify `urlRoot` on `User` Backbone model. This removes coupling
  between `DeliveryForm` and `AutocompleteSearch` where `DeliveryForm`
  resets the collection of `AutocompleteSearch` after persisting the
  recipient so that the Backbone model knows what URL to `POST` to to
  create the record. Now `AutocompleteSearch` can reset the Backbone
  collection before triggering the `select` event.
* Add `onSelect` and `onReset` callbacks to customize what state the
  autocomplete input is in after selecting a result or resetting the
  search after the reset button is clicked. The default select state is
  to leave the input in a disabled state with the `value` property of
  the model backing the result.
* Add `reset` event triggered when reset button is clicked.
* Render markup for the autocomplete `<ul>`, hint button and loading
  animation in JavaScript instead of on the server.
* Wrap input and client-side-rendered elements in a div, styled with
  `position: absolute`. Makes the placements for absolutely positioned
  elements remain the same independent of how the input and its sibling
  elements are placed on the page.
* Extract base styles for autocomplete inputs, deferring to specific
  contexts (new delivery page) to override styles based on any style
  changes applied in that context.
Update hint copy for delivery recipient input
[ci skip] WIP on filtering by recipient and desk worker