Features:
* Support for arbitrary references, including self-referencing
* Short output, references "long" strings as a bonus
* Around the same speed, potentially slower if long, short keys are present
* Properly works with NaN and inf
* minetest.serialize: Reversible number to string conversion
The %a format is not supported in Lua 5.1.
This commit also adds two tests for number serialization.