Initial refactoring to support multi-tenancy and extensibility; Note unit test is broken
Pushed as much reflection as possible to ConstraintInfo creation/caching time
Added support for load by multiple values
Added overloads to provide property name as string; makes metadata-supplied constraints easier to work with.
minor
Merge branch 'master' of github.com:ayende/ravendb
Fixed bug with extendedDocumentConversionListener

fixed bug reported at https://groups.google.com/forum/#!topic/ravendb/zkEgSZnsyas where extendedDocumentConversionListener.BeforeConversionToEntity and extendedDocumentConversionListener.AfterConversionToEntity don't get called.
Adding passing test
Merge branch 'master' of https://github.com/ayende/ravendb
RavenDB-1519 Index compilation exception when using LoadDocument<object>() in index definition
Fixing an issue with optimistic concurrency and deletes and DTC
Fixing NRE
minor
Merge branch 'temp' of github.com:ayende/ravendb
Fix merge issue
Merge branch 'patch-1' of https://github.com/jaufgang/ravendb
Merge branch 'master' of https://github.com/OldTownIT/ravendb
Fix tests
Merge branch 'master' of github.com:ayende/ravendb
Revert "backported the fix for RavenDB_1379 from 3.0 to 2.5"

This reverts commit a9ee52380302490e9dffff88289ad75753fdb3cc.

Conflicts:
	Raven.Database/DocumentDatabase.cs