Kernel.rand nearly passes the spec

But it's not private yet.
Array#shuffle without arguments

TODO: according to specs it should accept an optional hash with :random key
pointing to a random number generator used for shuffling.
create compare module
refactor sorter method
fix sorting
moving <=> to Object
minmaxes
remote tags
fix
Array#index
Merge branch master into kernel-rand
Kernel#rand based on Random.rand
Merge branch 'kernel-rand' into array-shuffle
Stylistic changes in Array#{shuffle,shuffle!}
Test `a::b = nil` assignments, which are currently not supported
# block versions
# remove array copied methods
Merge pull request #515 from jstepien/kernel-rand

Kernel.rand nearly passes the spec
Merge branch 'master' into array-shuffle
Don't use self for methods coming from Kernel