I've tracked down what changed in Django 1.9, and was able to get the tests to pass again. Outside of an import problem in hasher.safe_summary(), it doesn't look like there's anything broken in passlib w/r/t Django 1.9... just some incompatibilities in the unittests. So outside of safe_summary(), passlib 1.6.5 should be safe to use.
Getting the tests to work again ended up depending on a bunch of other minor bugfixes / improvements in passlib, which are still incomplete & need some tests written. Hope to have that job finished and committed within the next week.