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).
I think we shouldn't be `using namespace Xapian;` in the letor module.  It makes it harder to distinguish internal and external classes (although in this case, it isn't even used).