interactive_urls that are empty don't count toward the model being lightweight
Cache expiration, lightweight detection optimizations

Persist an attribute on select models to indicate whether or not they're
lightweight.
Update the cache sweeper to also update the cached lightweight value.
Update the cache sweeper to listen to Diy::Models for changes (this
means that adding an interactive url to a model will trigger a cache
clean).
Fix bug in cache sweeper which sometimes meant it didn't clear the
cache.