rename random.py to distributions.py to avoid clashing with built-in random module
reorganize tests to reflect refactoring