Abstract UserAutocomplete from the model

Pushes all management of the resource being searched to the controller,
allowing the view to be used to search any model or API.