Merge pull request #9 from DJSymBiotiX/python_implementation

Using numpy random instead of built in random.
Separated core python implementation from the implementation that uses
the numpy external library.