Integrate Mahout's Recommendation Algorithm

This example re-uses the DataSource, Metrics components shown in early tutorials and integrates Mahout's GenericItemBasedRecommender to build a recommendation engine.

This example also demonstrates that if the Model contains an unserializable object (Mahout Recommender in this case), the Model class needs to implement the KryoSerializable with write() and read() methods which recovers the unserializable object. The implementation can be found in MahoutAlgoModel.java