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
Utils - cleanup

- Updated linked documentation

- Also updated `removeRandomItem` per the contract and for consistency with
  `getRandomItem`.
Merge pull request #1395 from pnstickne/wip-transpose-fix

ArrayUtils - minor corrections