Add support for reading and writing longs as stringy values.

Refs #97.

Use it. Or don't. Was good fun writing/exploring the many ways to do these things.
I was expecting this to read any number of chars:
````
Buffer buffer = new Buffer().writeUtf8("f ff");
print(buffer.readHexadecimalUnsignedLong()); // 15
buffer.readByte(); // space
print(buffer.readHexadecimalUnsignedLong()); // 255
```