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
applied missing 2.5 changes to 3.0 + cleanup