registration callback api: support user_url override

If provided, the user_url query string param will supersede
the silo user's configured url.
registration callback: move tests to util_test

- changed util.oauth_starter to take the StartHandler class itself
  rather than the module (to make constructing a test handler a little
  easier)
- moved unit tests out of twitter_test and facebook_test and
  into util_test with FakeSource and FakeAuthEntity
- added unit test for a provided user_url; if provided this url is
  prepended to Source.domain_urls and Source.domains