Fill out strutils/parseutils like number parsing for `MSlice` with new `parseBin`, `parseOct`, `parseHex`, and updated `parseInt`.  `parseInt` has the same BREAKING CHANGE as just committed `parseFloat`.
Fill out strutils/parseutils like number parsing for `MSlice` with new
`parseBin`, `parseOct`, `parseHex`, and updated `parseInt`.  `parseInt`
has the same BREAKING CHANGE as just committed `parseFloat`.

Note this new style combines the best features of `strutils.parse*` and
`parseutils.parse*`: returns the parsed type, but also allows easy
checking of parse errors.

To avoid doubling up on API names, I only provide a `signed int` return,
but I *think* it should work to just cast a return to unsigned on any
two's complement CPU (similarly standard as any 8-bit byte CPU...).
(This could probably use some tests near/at overflow extremes.)

c-blake/cligen