py: Core "yield from" implementation.
py: yield from: Elaborate GeneratorExit (gen.close()) handling.

Handling of GeneratorExit is really peculiar - it subverts normal exception
propagation rules.
tests: Add testcases for yield from.
vm: Implement "with" statement (SETUP_WITH and WITH_CLEANUP bytecodes).
tests: Add "with" statement testcases.
py: Free unique_code slot for outer module.

Partly (very partly!) addresses issue #386.  Most importantly, at the
REPL command line, each invocation does not now lead to increased memory
usage (unless you define a function/lambda).
py: Fix typo printing complex numbers that are purely imaginary.
tests: Remove unimplemented exceptions from testing.
Merge pull request #383 from pfalcon/yield-from

Implement "yield from"
py: Change mp_const_* objects to macros.

Addresses issue #388.
py: Rename old const type objects to mp_type_* for consistency.
unix: Fix ffi.c to compile with latest changes to API.
py: Fix regress with GeneratorExit object becoming truly const.
Merge pull request #389 from pfalcon/with-statement

With statement implementation
py: Make MP_BC_SETUP_WITH use the bytecode stack for load_method.

The compiler allocates 7 entries on the stack for a with statement
(following CPython, but probably can be reduced).  This is enough for
the method load and call in SETUP_WITH.
stmhal: Factor out stdio and readline to separate files.

Adds readline_init() to clear readline history on soft reset.  Addresses
issue #387.
vm: Elaborate comments for WITH_CLEANUP, other cosmetic fixes.
py: Support mpz -op- float, mpz -op- complex, and complex -op- mpz.
Merge branch 'master' of github.com:micropython/micropython
stmhal: Add Windows .inf file for USB CDC device.