Allow specifying endianess as struct tags

This allows a single struct to have mixed-endianess entries in it.
Updates issue #2.