I was accidentally truncating numbers when casting to long on machines that don't have longs that are 8 bytes. Fixes #5
Feed the lawyers.
Any number that can't be decoded in C is now passed back to Erlang for decoding. Large numbers passed to the encoder will make it through and be processed in Erlang after the main encoding process.
Passes all eep0018 tests.