Bugfix: Large integers could cause string() (and thus toString()) to corrupt memory.

This works up to unsigned 64-bit integers.
Dispatch toString(var) to either toString(int) or toString(double) depending on the implied type (the *actual* type will always be double, but that's an implementation detail).
Merge pull request #613 from sorlok/string_repr

toString() cleanup.