Update documentation
Add char and byte types

These types are deprecated aliases, but still they still exist in old bag
files.
Add support for constants

In the parser, if a constant is in a message definition its value is
converted to bytes.  In the matlab wrapper, each constant's field name and
value are stored in each struct representing an instance of a message.

Closes #1
Bugfix when there is an array of length 0
Store arrays of fixed size types more efficiently

Previously, each element of an array was stored in a separate element of
the vector returned by ROSMessage::bytes().  This is extremely inefficient
for fixed size primitives, and so now such arrays are stored in the first
element of the vector returned by bytes().  Arrays whose members are
variable length (i.e., strings) are still stored as one element per entry
in bytes().
Update gitignore
Update release script to zip files + properly name archive