use match in Array#[], performance improvement of ~ 4x

By testing for the common case (Integer) first, we can improve
performance even further. This makes Array#[] about 2x slower than
Array#at: but its still a massive improvement compared to before.

See dirk/fancy@645a99125248fec5e0a8ede810afe5ac6608c985