Allows for cache invalidation which will prevent a subsequent load from hitting the cache.
Merge pull request #26 from mavenlink/invalidate_cache

Adds cache invalidation to Brainstem collections.
Add only queries to the cache key and cache (although the cache will only be looked at for the count).
Move cache key generation to a new function since it's getting pretty long.
Load all records in an only even if we already have some of them (so that filtering works).
Merge pull request #28 from mavenlink/only_in_cache_fetching

Only queries fetch all records
Brainstem.Model has an invalidateCache method to invalidate the caches that the model is a result in.
When a model gets removed from the StorageManager (usually via model.destroy) the StorageManager will invalidate the caches that the model appears in.
Fix invaldiateCache checks.
Merge pull request #29 from mavenlink/cache_clearing

Cache clearing
Added 'params' option to sync to allow additional request parameters with Backbone server interaction
Added spec for 'params' option
Small change to make param options merge more readable
Merge pull request #30 from mavenlink/additional_sync_params

Added 'params' option to sync
Switched literal 'or' to '||'
Merge pull request #31 from mavenlink/additional_sync_params

Added 'params' option to sync [cleanup]
AbstractLoader now uses promise interface instead of handling error itself.
Use promise interface on sub-loads.
Pull out callbacks.