When deleting a batch operation on sql replications documents which contains a delete error fix
each time the Raven.Tests.Core server is starting, we delete its data directory + test fixes
- First refactoring to introduce the SmugglerOperationDispatcher.
Major refactoring of the Smuggler codebase to ensure we can deal with files and databases in the same fashion.
Merge branch 'master' of https://github.com/mdavis/ravendb
Minor edits
Merge branch 'RavenDB-2675' of https://github.com/arekais/ravendb
Adhere to naming convention of Smuggler classes.
Finished refactoring in preparation for Smuggler for file systems.
Moved base test code for RavenFS to Raven.Tests.Helpers
Moved test infrastructure to Raven.Test.Helpers.
Cleanup unused test infrastructure in RavenFS.
New operations for the ISmugglerFilesOperations
Marked tests with category Smuggler to be able to find them as they are all scattered around.
Placeholder tests to implement.
Merge branch 'master' into ravendb-2744

Conflicts:
	Raven.Abstractions/Smuggler/ISmugglerDatabaseOperations.cs
	Raven.Abstractions/Smuggler/SmugglerDatabaseApiBase.cs
	Raven.Smuggler/SmugglerDatabaseBetweenOperation.cs
Most Smuggler for Files tests implemented and failing with NotImplementedException because of unfinished code-paths.
EnsureFileSystemExists added to the administration client.
Many Smuggler tests for database didn't remove the directory used after finishing.
Removed TaskAssert and modified everything to use AssertAsync instead.
Merge remote-tracking branch 'raven-authoritative/master' into ravendb-2744

Conflicts:
	Raven.Client.Lightweight/FileSystem/AsyncFilesServerClient.cs
	Raven.Client.Lightweight/FileSystem/IAsyncFilesCommands.cs
	Raven.Tests.Helpers/RavenFilesTestBase.cs
	RavenFS.Tests/Storage/BackupRestoreTests.cs
Removed embedded code path. Not needed anymore.
Work in progress.
RavenDB-2759 Make compact process async
RavenDB-2760 Add compact for RavenFS
RavenDB-2794 IndexOutOfRangeException when Lazy Load with Transform on non-existing document