Adds cache invalidation to Brainstem collections.

You can invalidate the cache by calling `Brainstem.Collection#invalidateCache`.

This sets `valid` on the cache object to `false` therefore subsequent `loadCollections` will find the cache object but see that it's not valid and hit the server.