Pull request for recommender system framework over GraphChi for review

Almost all the files in "toolkits/collaborative_filtering" package are new files added by me. 
In the existing code, I have made some changes to FastSharder.java (some of the changes about metadata can be deleted)
The python files submitted under "scripts" was for some specific data processing. I am not sure if the correct place for them is to live in this repository right now.
Some more details about the code is in this google document as well:
https://docs.google.com/document/d/1w7zlZyG8jXnriqUokYVldr6MYTo9fRm4Q0EwF2TyVrY