Caching result size

**Changes:**

+ `Brainstem.Collection` now has a `getServerCount` method that returns the count from the cache.
+ `Brainstem.Collection` now gets `cacheKey` put on lastFetchOptions (like the rest of the options).
+ `AbstractLoader` now has a `getCacheObject` method that uses the loader's internal cache key to return the cache object.
+ `CollectionLoader` always caches result sets regardless of the `cache` option.  The `cache` option is only used for finding models now.