fixed problem with disposing TransactionalStorage not allowing database to dispose completely, if unexpected error accures in esent.
change the way we treat shutting down databases in HttpServer.cs. instead of removing database from the ResourcesStoresCache, we first "plant" a special exception throwing task at the begining of the dispose process and remove the databace from the cache only when dispose process is done
Allow to set a value even when it isn't there already.
Make sure that the locks properly work for the atomic dictionary
Actually do abrupt shutdown if we can't do so nicely.
Better way to handle the exceptional case
Update HttpServer.cs

Fixing the error message on currently disposing database
Merge branch '2.5' of https://github.com/ayende/ravendb

Conflicts:
	Raven.Database/DocumentDatabase.cs
	Raven.Database/Server/HttpServer.cs
	Raven.Database/Storage/Esent/TransactionalStorage.cs
Show what actually cause the batch after dispose issue
Proper disposal order, first indexing, then tx storage
Avoid NRE
applied missing 2.5 changes to 3.0 + cleanup
RavenDB-2655 When going to databases page, do NOT preselect a db
RavenDB-2656 Making sure that EnsureDatabaseIsCreatedAndAttachToDatabase method in RavenFS' Esent storage matches the RavenDB's one
RavenDB-2657 The studio should NOT be calling any stats calls on databases EXCEPT the selected one
Simplifying the migration process significantly, and made it robust for large amount of data
Avoid concurrent compaction because of esent issue.
Properly handle dirty db shutdown as well
Merge branch 'RavenDB-2656' of github.com:arekais/ravendb
Propertly handle dirty shutdown in RavenFS as well
Merge branch 'RavenDB_2657' of https://github.com/ml054/ravendb
Merge branch 'RavenDB_2655' of https://github.com/ml054/ravendb
Merge branch 'master' of https://github.com/ppekrol/ravendb

Conflicts:
	Raven.Database/Storage/Esent/TransactionalStorage.cs