Add top_n parameter to recommender func
Add cross-validation, fault tollerant loops