Fix the memory leak in urlconf_include

Django's urlresolvers.get_resolver function is memoized, causing a
memory leak when a new urlconf module is used for every request.

The other way to do this would be to use the same urlconf module for
every request. This would require caching the instances based on the
current set of UrlconfIncludePages.
Make sure to uncache our urlconf even if it has been overridden.

In the case where another middleware overrides the urlconf, just
uncaching request.urlconf might not uncache the urlconf that we made.
It wouldn't be a problem if no URLs were resolved before the urlconf was
overriden, but we can't be sure of that.
Recheck compatibility when repositioning

It's necessary to recheck compatibility when repositioning a widget.
Without this, it's possible to nest un-nestable widgets like forms,
by putting the form inside a container, then putting the container in
another form. The deep form never got a chance to object.
Merge branch 'urlconf_leak'

* urlconf_leak:
  Make sure to uncache our urlconf even if it has been overridden.
  Fix the memory leak in urlconf_include