Refactored strings functions to make them use supplied string
instead of allocating new ones.
Additionally, split String/Int.c into several files to avoid define
mess that was present before.
Added tests for string to/from integers and added documentation.
While adding tests caught few bugs and shortcomings (now everything
works as expected)
Finally, fixed bugs in bigint implementation as well as switched to
32/64 bit integer implementation (gained 2x speed up in some cases).
Additionally, I decided to split Float.c into Float.c and BInt.h for
better readability.
Finally added StringToDouble function (should work for the majority of
the cases). Additionally fixed bug in StringFromDouble related to
incorrect rounding and added asserts (should add more asserts in the
following commits).
Also implemented some optimizations from Burger and Dybvig paper.