Lots of changes:
- extracted a new MlModel supertype and introduced DifferentiableModel
- RegressionTree and MART are now MlModels
- added Boosting
- output renamed to relevance in DataContainer
- NDCG optimizer added.
	modified:   Makefile
	modified:   TODO
	modified:   lambdarank.hpp
	modified:   ltr_algorithm.hpp
	modified:   ltr_main.cpp
	modified:   ml/data_container.cpp
	modified:   ml/data_container.h
	modified:   ml/linear_regression.cpp
	modified:   ml/linear_regression.h
	modified:   ml/mart.cpp
	modified:   ml/mart.h
	modified:   ml/ml_model.cpp
	modified:   ml/ml_model.h
	modified:   ml/neural_net.cpp
	modified:   ml/neural_net.h
	modified:   ml/regression_tree.cpp
	modified:   ml/regression_tree.h
	modified:   ndcg_optimizer.cpp
	modified:   ndcg_optimizer.h
	modified:   ranknet.hpp
	modified:   ranknet_lambda.hpp