Replace `case true...when` with equivalent `if...elsif` statements
Convert hexadecimal literals to binary literals; remove comments
JSON text and values are empty if their length is <= 0
Make all methods private except decode and encode
Refactor rubydoesenc into a method
Check for integers before numbers in exponential notation

This optimization assumes that integers will appear more frequently than
numbers in exponential notation. I believe this is a reasonable
assumption for most common uses.
Consolidate whitespace cases that all return the same triple
Expose valenc as a public method
properly allow ok commits in pre-commit
report which interpreter failed
say what went wrong
correctly encode control chars; fixes #16