Extract `URL` model

Extract a URL model from the ResultsController

* Validates urls from user input
* Creates URI::HTTP object for use in auditing