Support STI in decorated associations

This introduces the following precedence for choosing how to decorate an association:

1. The decorator given by the `with` option
2. The source's `decorate` method
3. A generic `CollectionDecorator` (for collection associations only)

I reverted the decorator namespace commit - I really like the feature but am not quite there on the implementation - it made the changes here a bit more difficult than they should have been. I'd like to find a way to do decorator namespacing without having to pass the `namespace` option around everywhere.