npart is signed and npartTotal is unsigned, fixed header.

Fixed the signedness of the header, don't know why npart isn't unsigned too.
Should file a bug...
Add more header fields.

This is in preperation for supporting more than 2**32 total particles per type,
which need setting the high byte of the particle numbers in the header.
Add support for header with more than 2**32 particles.

If there are more than 2**32 particles of one species total, the higher byte of
the number needs to be written to a seperate field. You still need to split the
file though, as n_part is only an int, so one file still only supports 2**32
particles.
Make the code work with python 3.

In Python 3 you can't concat binary strings directly. We use bytearrays
instead.
Construct testing data explicitly.
Test improved for more than 2**32 n_all
Merge pull request #38 from Moredread/feature/partnum_high_byte

Feature/partnum high byte