Rewrite IntegrationTestCase.

* Can now deal with function-based views (subclass it with
  view=[view_method] rather than view_class=[class]), and
  provides a get_view() method to abstract over accessing
  them.
* access_view now accepts an optional request kwarg, and
  will create its own request if one isn't supplied.
* It also attaches the request (created or otherwise) to
  the returned response object, so that it can be used
  elsewhere without having to pass tuples around or anything
  silly like that.
* render_to_str now checks for this attached request, and
  uses that in the render() call if possible.
* access_and_assert_view has been renamed to
  access_view_and_render_response, which is a bit of a
  mouthful, but much clearer.
* Lots of commenting.  Possibly more to come.