Bullet-proof some extension and URL uninitialization code.

Review Request #5849 — Created May 21, 2014 and submitted — Latest diff uploaded

Information

Djblets
master
7b7779e...

Reviewers

We hit some nasty issues where uninitializing an extension failed hard,
preventing all future attempts at uninitializing. These had to do with
the dynamically-set/removed extension.admin_site attribute, which was
assumed to be available if has_admin_site was True.

We now check for the existence of admin_site instead, and also catch
attempts at removing non-existing URLs in DynamicURLResolver.

Unit tests passed.