makeqstrdata.py: Add support for conditionally defined qstrs.

Syntax is usual C #if*/#endif, but each qstr must be wrapped individually.
py: Start implementing "struct" module.

Only calcsize() and unpack() functions provided so far, for little-endian
byte order. Format strings don't support repition spec (like "2b3i").

Unfortunately, dealing with all the various binary type sizes and alignments
will lead to quite a bloated "binary" helper functions  - if optimizing for
speed. Need to think if using dynamic parametrized algos makes more sense.