BinData is a declarative way to read and write binary file formats.

This means the programmer specifies what the format of the binary
data is, and BinData works out how to read and write data in this
format. It is an easier and more readable alternative to Ruby's
pack and unpack methods.
