Change the way we create a data folder for out tests. The issue is that we have some tests that accidentally open up two servers with the same data directory, which can be by mis using the DataDir field on the RavenTestBase.
By this change, we can simply a lot of tests code, so they do not need to delete the directory manually but this done automatically. This way, a lot of boilerplate code can be removed and be abstracted to the RavenTestBase.
Test also the async api
Make the stress tests compile
minor
No need to delete the data folder when we dispose the DocumentStore since we already do that both when creating a new directory and when we dispose the test
Make sure to dispose the DocumentDatabase
Fix test
Fix typo
minor
minor
Refactor ReplicationTest to reuse some code from RavenTestBase
Avoid R# errors
Correctly share the same data directory between embedded databases instances
Combine files related to tests to one file
minor
Merge branch 'master' of github.com:ravendb/ravendb into 2.5

Conflicts:
	Raven.Tests/MailingList/Idsa/IdsaTest.cs
Also assert the behavior of the test, so if we will change this we will have a failing test
We need to explicitly specify that we want to reuse the same data directory across different storage instances
minor
Test uses of Length and Count usage to test the same as Any()