Access FieldHighlightings from Projection Query and from Map/Reduce

This includes tests and updates to allow for .Highlight(..., out fieldHighlightings) syntax when querying with a projection or a map-reduce.

Previously this was only possible for querying directly on a document, and the fieldHighlightings were associated with the document by id.
Previously you could only get fieldHighlightings when querying with a projection or a map-reduce by storing the field on the projected object - which is sometimes undesirable.

Now .Highlight(..., out fieldHighlightings) works with projections by associating the fieldHighlightings with the original document.
Additionally, the same now works with map-reduce by providing the field name of a field on the reduce object of which the value is always unique - this can easily be the reduce key.

Related topic on mailing list - https://groups.google.com/forum/#!topic/ravendb/pShFMqb-6Y8