[WIP] first cut at LambdaMART

This PR is an attempt to implement LambdaMART [1]. I imagine the biggest hurdle will be coming to some conclusion over the correct API since we need to include the queries somehow. In my implementation I use an extra keyword argument, I don't know if this causes problems elsewhere. My hope is that this PR can serve as a catalyst to resolve that, and then I can finish up the PR.

Some items on the todo list:
- [ ] need to add tests
- [ ] compare performance with gbm, ranklib, jforests

Possibly for another PR:
- [ ] abstract code to support measures other than NDCG
- [ ] support an optional cutoff parameter for NDCG, usually denoted as NDCG@k

There was also a brief discussion on the mailing list [2]. Pinging @mblondel @ogrisel @pprett from the mailing list.

[1] https://research.microsoft.com/en-us/um/people/cburges/tech_reports/msr-tr-2010-82.pdf
[2] http://sourceforge.net/mailarchive/forum.php?thread_name=CAP%2B3rpGVbSux5u4dZiatV3p1f1zUvndHXoi-oh4CjMRtSpjFsw%40mail.gmail.com&forum_name=scikit-learn-general