unix: Remove unnecessary #defines from config.
py: In asmthumb, clean up unit/int types and ite ops.
py: Add store r8 and store r16 ops to asm_x86 and asm_x64.
py: Make macro names in assemblers consistent, and tidy up a bit.
py: Fix types, uint -> mp_uint_t.
py: Allow viper to use ints as direct conditionals in jumps.

Allows things like: if 1: ...
py: Implement more binary ops for viper emitter.

This included a bit of restructuring of the assembler backends.  Note
that the ARM backend is missing a few functions and won't compile.
tests: Add tests for viper binary operations.
py: Add casting to viper; add native mem stores to viper.

Viper can now do the following:

def store(p:ptr8, c:int):
    p[0] = c

This does a store of c to the memory pointed to by p using a machine
instructions inline in the code.
py: Fix viper store on x86; add tests for viper ptr16.
py: Allow x86-64 to mov r16 to rm16 with extended src reg.

Fixes bug with x86-64 viper ptr16.
py: Remove IOError since it's deprecated; use OSError instead.

In CPython IOError (and EnvironmentError) is deprecated and aliased to
OSError.  All modules that used to raise IOError now raise OSError (or a
derived exception).

In Micro Python we never used IOError (except 1 place, incorrectly) and
so don't need to keep it.

See http://legacy.python.org/dev/peps/pep-3151/ for background.
stmhal: For spi_init, add argument to select if NSS pin is enabled.

Most of the time you don't use the NSS pin of the SPI bus, and so it
shouldn't be enabled by default (this gave some bugs in the past).
stmhal: Add network and usocket module.

As per issue #876, the network module is used to configure NICs
(hardware modules) and configure routing.  The usocket module is
supposed to implement the normal Python socket module and selects the
underlying NIC using routing logic.

Right now the routing logic is brain dead: first-initialised,
first-used.  And the routing table is just a list of registered NICs.

cc3k and wiznet5k work, but not at the same time due to C name clashes
(to be fixed).

Note that the usocket module has alias socket, so that one can import
socket and it works as normal.  But you can also override socket with
your own module, using usocket at the backend.
drivers, wiznet5k: Wrap exported functions in a macro for renaming.

3rd party drivers should not export generic names like "close".
drivers, cc3000: Wrap exported functions in a macro for renaming.
stmhal: Fix wiznet5k init of SPI bus.
stmhal: Enable patch_program in cc3k driver, with key.
tools: Add network build to auto-build script.
Proposed fix for USB Mass Storage.