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.
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.
Merge branch 'patch-1' of https://github.com/jaufgang/ravendb
Merge branch 'master' of https://github.com/OldTownIT/ravendb