Create the CompiledIndexCacheDirectory if it does not exist.

Fix of: http://issues.hibernatingrhinos.com/issue/RavenDB-2240
better handling of large document sizes in indexing
tweaks to indexing auto tuner -> better handling of large documents
* tweaks BaseBatchSizeAutoTuner -> take into account existing batch document sizes to decide whether to reduce item batch or NotForReplication
* minor refactorings to IndexingExecuter and ReducingExecuter to report about batch size that is currently being processed
o
minor
Merge branch '2.5' of github.com:ayende/ravendb into prefetcher-tweak-large-docs
minor fix
RavenDB-2040 Fixing logging exception because of a missing parameter
Merge branch 'prefetcher-tweak-large-docs' of https://github.com/myarichuk/ravendb
Code review:
* Avoid allocations in aggregation
* Better (hopefully) heuristics for changing batch sizes
* Tracking actual sizes in bytes, not kb
Fixing NullableExample.InvalidShirt
RavenDB-2244 Patch + Transaction = System.InvalidOperationException: Cannot modify a snapshot, this is probably a bug
two changes:
* tweaked auto tuner logic with regards to high memory usage by indexing
* fixed issue with compression in Esent - SerializedSizeOnDisk was receiving compressed document size --> changed so it receives decompressed document size
* tweaked GetDocsFromBatchWithPossibleDuplicates so it won't grow prefetchingQueue larger than threshold
Merge branch '2.5' of github.com:ayende/ravendb into prefetcher-tweak-large-docs
Add a passing test
Handle a case where the database was dispose while we show the values of /admin/stats
during backup memory-only index will be written to disk - so its data persits between backups
Merge branch '2.5' of github.com:ayende/ravendb into prefetcher-tweak-large-docs
issue 2239 fix for 2.5
test changed
Merge branch 'prefetcher-tweak-large-docs' of https://github.com/myarichuk/ravendb