Should FIX returning empty user playlists entries
Updates the computation of the distance/proximity and probabilistic selection

Previously, the computation wasn't totally right. In fact, the dot product was
made on non-normalized vectors. Thus, the result can be great than 1 or less
than -1. The case of a negative result wasn't also treated.
Now, the dot product result is normalized. And to cast the result in [0,1],
the mean is taken from the result added to 1.

The probability assigned to a track is now its proximity (in [0,1]), instead of
1 - distance.
Merge branch 'dev/solo' of https://github.com/lca4/unison-recsys into dev/solo
FIX NameError: global name 'math' is not defined
FIX playlist generation with probabilistic selection and unrated
Removes prints
Merge branch 'dev/solo'
Error handling improvements

* Error messages
Adds log messages in case of errors, updates exception messages

* Error handling
New OPERATION_FAILED error type, to be used for e.g. if a copy/remove operation
fails.
Adds non-emptiness checks, raises exception in case of emptiness.