Add Lucene Document parameter to factory Func 

I want to be able to look up objects without having to instantiate a second copy. To this end I have changed the factory delegate to Func<Document, T>.

I think perhaps this would be better as part of the IDocumentMapper, with T CreateObject(..) rather than void ToObject(...), but given that the factory is separate, the way I have done it is idiomatic with the current design.