Cacheable serializers

This currently an experimental work in progress, trying to get serializers to work well with Russian-Doll Caching.

This is not currently intended to be merged.