Rishabh & Parth 2012 xapian-letor work

Refactoring on which subsequent GSoC work is based.

Also includes implementations of ListNet & ListMLE which have since been discarded due to possible licensing conflicts (this is noted in the source code in these commits).
Including `<xapian.h>` and also subheaders is unnecessary.  Pick one approach (probably just `<xapian.h>` since letor should probably be viewed as a seperate library building on the public xapian-core API).