Optimizations for Recommender System implementation

1) JSON dump
2) Parallelizing users scores calculation
3) Removing some inneficient code: function calls, math.pow.
4) Trying to optimize memory usage deleting some dicts that are only
   necessary to generate the recsys data.
Passing some arguments to song similarity script
Fixes: makin results JSON serializable and passing ratio as parameter
Bugfix: renamed variable
Calling song_similarity_recommendation script from command line
Huge cleanup/code refactoring

1) Reorganized files/data locations
2) Added scripts to save users in test sets
3) Refactored some functions and utilities

The code that runs the popularity recommendation is probably broken,
but I'll fix it later
Named the module "data" and that was a pattern in .gitignore
Making possible to determine the ratio of users in test set
Songs_to_users mapping is now loaded from a JSON

The JSON object must be precomputed using
`data_utils._generate_songs_to_users_json` method.
Parsing such a huge file using JSON is really slow

This commit rollbacks the method to parse `train_triplets.txt`
to generate `songs_to_users.json`
Recommendation with Q distribution
Bugfixing
Merging Q distribution into optimizing-code branch
Minor fixes
Removing .idea/ folder
Merge branch 'master' of github-personal:andrebattagello/TG

Merge conflicts

Conflicts:
	code/.DS_Store
	code/Results.txt