Add Set ordering tests

See #290 for details
Some JS engines don't preserve insertion order for numeric keys.

Fixes #290.
Style cleanups.
Checking the char directly rather than using charCode and a comment.