Add Lucene Document parameter to factory Func

I extended my previous pull request https://github.com/themotleyfool/Lucene.Net.Linq/pull/16 to include change tracking, even when the object has been looked up, rather than re-materialised. 

I did this by storing the original field values in the Tracking object, rather than holding a clone of the original object. Hope it's ok!