RavenDB-1309 - Reprise

So I pushed the logic into the storage itself which means duplicating the logic but means it's now accessible from anywhere.

I see now also that the fact that this sort of check won't work against reduce is already well documented, which is good! 

Kinda feel as if writing the logic for setting the last collection etag shouldn't probably be part of storage as well (rather than in the doc-db), but let me know how you feel about this.