Bug fix: MultiSearch was returning derived types as base type (as specified in generic)

Applied patch https://github.com/Mpdreamz/NEST/commit/c48f9477e0698d9d46499793c43be96c46ec0e11.patch via https://github.com/Mpdreamz/NEST/pull/352
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/Nest/Resolvers/Converters/MultiSearchConverter.cs
Relaxed type constraint on Document method for UpdateDescriptor so that any partial document may be supplied for upsert
Added a comment for the Upsert method to clarify its usage
Updated BulkUpdateDescriptor with same changes as UpdateDescriptor
Changed Document type from object to K parameter
Changed Upsert() in Bulk/UpdateDescriptor parameter to take an object of type T and not K, as Upsert() represents the (full) document to insert if an existing document does not exist
Merge pull request #430 from 121cast/any-partial-doc

Allow any object type to be used for a partial update during upsert