Bugfix in select, improvements to `length`

- Fixed a bug where select would return 'true' instead of the actual value that was compared.
- When getting the length of `null`, `length` now returns 0.
`add` now uses jsq's '+' op, so arrays and objects get merged.
`keys` and `pairs` now produce lists instead of arrays
`tonumber` now returns `null` for unparsable input.
Updated tests for changes `keys` behavior
Documentation