Add seed task for data in development and staging

Remove `lib` directory from autoload paths. Nothing in `lib` is required
for running in production. Removing it is necessary to prevent
`DemoData` and the `faker` gem from being loading when the application
starts in production mode and loads all application code on startup.
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`,
  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.
Update hint copy for delivery recipient input