py: Automatically ake __new__ a staticmethod.

Addresses issue #622.
tests: Rename test scripts, changing - to _ for consistency.

From now on, all new tests must use underscore.

Addresses issue #727.
binary: Factor out mp_binary_set_int().
modsstruct: Foreign data interface module, roughly based on ctype ideas.

But much smaller and memory-efficient. Uses Python builtin data structures
(dict, tuple, int) to describe structure layout.

Currently, the only available docs are testcases.
modsstruct: sizeof(): Operate on sstruct objects too (not just on layouts).
modsstruct: Replace some asserts with exceptions.
modsstruct: Implement sizeof() for PTR and ARRAY.
modsstruct: More docstrings for gendoc.py.
modsstruct: 64-bit cleanness.
modsstruct: Add VOID type value, for void pointers.

Actually implemented as an alias for UINT8 for now.
modsstruct: Allow to specify structure layout type (native/LE/BE).
modsstruct: Follow machine_int_t -> mp_int_t rename.
modsstruct: Actually implement native vs packed structure access.
modsstruct: Elaborate tests to check both packed and native structures.
modsstruct: Support assignment to scalar fields.
modsstruct: Implement bitfield setting.
modsstruct: Add write tests.