#42: optimize user profile page

26 queries -> 13 queries
#42: add user records caching
fix Sport.get_distances() method
add docs for Sport.get_distances() method