Get block argument counts

Uses the block ABI specification so is App store safe.

Remove eachWithIndex, make map able to take two parameters the second being index

FIXUP
NSString.split(@"") works

It is logical that splitting by nothing will split by the smallest possible unit, ie. nothing, so all characters are split out into an array.

Though, no other framework does this. It's often something I've expected and sometimes: needed.