Add new, slightly different URL mixin

* Refactor the existing code to make the new functionality
  slot in nicely.
* Add a slightly different URLsMixin to deal with method-
  based views as opposed to class-based views.  The two
  mixins derive from a shared base class and are used
  in the same way.
* 'URLsMixin' and 'URLsTestCase' do the same thing as
  before, for the sake of compatibility.
Add interaction for people misusing the new API.

* URLsMixin can now be deprecated, with an appropriate
  warning.
* Add NotImplementedError to the assertViewNames()
  method in the base class to make it clear from the
  other end that that's what going on.
Merge pull request #9 from incuna/new-url-test-case

Add new URL mixin for method-based views