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.
