Merge branch 'master' of github.com:ayende/ravendb

Conflicts:
	Raven.Tests/Issues/RavenDB_1603.cs
Merge branch 'master' of github.com:ayende/ravendb
Merge branch 'master' of github.com:ayende/ravendb into concurrent_index_changes
minor fix -> compilation
bug fix for RavenDB-2908
Merge pull request #1554 from ppekrol/2.5

bug fix for RavenDB-2908
RavenDB-2922 Failing test: RavenDB_2209.LazyLoadResultShouldBeUpToDateEvenIfAggressiveCacheIsEnabled
Fixing multi get handling

Conflicts:
	Raven.Client.Lightweight/Connection/MultiGetOperation.cs
Merge pull request #1575 from ppekrol/2.5

applied 3.0 fixes to 2.5
Making sure that we don't have a deadlock when disposing an embedded document store with http server enabled.
Marking file system index to reindex after an unclean shutdown.
Implementation of the scaffolding needed to signal index resetting scenarios. No actual reindexing implemented yet.
Modified the initialization order of the RavenFileSystem to account for uses of Initialize that may throw inside a construction leaving a partially constructed object and potentially leaking memory.
Basic index state checks are available. Currently it wont discover if the server failed in the middle of an upload.
CanGetMax test. It seems that MaxKey is always null.
Make sure that we are only loading this once.
RavenDB-2925 introduced /debug/websocket endpoint that will validate websocket request parameters
Voron implementation of the GetLastEtag for filesystem indexes.
Esent implementation of the GetLastEtag accessor
Removed redundant call to JetSetCurrentIndex.
Performance:
* Only pulse transaction if the tx size is greater than 16 MB, not 16 KB.
* Only check transaction size once every 1000 operations, not each time after 1000 operations
Don't wait for user from the tests if the indexing takes too long