add rand implementation
add specs
optimize code
Merge branch 'rand' of git://github.com/fntzr/opal into fntzr-rand