Read id and version number.
Read database index.
Read string key value pair.
Read 8 bit integer strings.
Read 16 bit integer as string.
Assert on reading 32 bit integer strings.
Manually create list encoding .rdb file.
Basic test for list decoding.
Throw unsupported type error.
Try to read unsigned long timestamp.

Effectively working using the ref package however calling readUInt64BE()
on the unsigned long bytes is returning a number with additional zeros
(000) and in order to get the correct date back in javascript a divide
by 1000 is necessary, this could be to do with javascript only
supporting signed 64 bit numbers.

Would like a better way to coerce the types than a divide by 1000.
Assert on expiry in milliseconds.

Use the ref package to read the unsigned long from the stream.
Throw error on expiry seconds.

When using EXPIRE to specify seconds expiry the RDB expiry is still an
unsigned long, assuming that v6 deprecates seconds representation.
Assert on multiple keys.

Stub classes to represent the portions of an RDB file.
Emit Header instance.
Emit database instance.
Emit footer event.

Read CRC64 as an unsigned long coerced to a string.
Emit StringEntry.
Add Decoder.readFile().
Emit load event on file read end.
Update string test spec.