Fix #116; cache class in ModelFilter

This gives us the performance benefit we want without introducing a bug
or requiring a configuration option.

I am a little concerned that an infinite loop might be possible. The
only way I can think of that happening is if a class overrides `.name`
to provide something other than the class name.
Add failing test case for SystemStackError
Don't overflow the stack
Remove unnecessary private helper method
Add a failing test for reconstantizing subclasses
Handle reconstantizing subclasses

This is fast in the usual case that the class matches. If it doesn't,
this is as performant as the old way of doing things.
Update changelog
Merge branch 'cache-class' into v1.1.0

Conflicts:
	CHANGELOG.md