ArrayUtils - minor corrections

- Corrected off-by-one issue; the effect is the same but it is arguably
  more correct.

- Fixed getRandomItem; it would previously return null for false'y values
  (false/''/0) which was against the defined contract.

- Updated documentation / documented types

Ref. https://github.com/photonstorm/phaser/issues/1394