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