py: Support closures with default args.
py: Improved builtin dir.
py: Fix logic bugs in object attribute/method extraction.
stmhal: Remove ExtiMeta object and clean up class constants.
Merge branch 'master' of github.com:micropython/micropython
stmhal: Use rt_check_nargs to check number of arguments.
Merge pull request #381 from pfalcon/closure-defargs

py: Support closures with default args.
py: Restore CPython compatibility in compiler for closures with def args.
py: Fix bug in type_store_attr, trying to store to ROM.
py: Calculate maximum exception stack size in compiler.
py: Put n_state for bytecode in the bytecode prelude.

Rationale: setting up the stack (state for locals and exceptions) is
really part of the "code", it's the prelude of the function.  For
example, native code adjusts the stack pointer on entry to the function.
Native code doesn't need to know n_state for any other reason.  So
putting the state size in the bytecode prelude is sensible.

It reduced ROM usage on STM by about 30 bytes :)  And makes it easier to
pass information about the bytecode between functions.
py: complex_print uses format_float if single precision fp used.
py: Factor out code from runtime.c to emitglue.c.
py: Rename emit_pre so they have globally unique names.
py: Fix typo printing complex numbers.
py: Thin out predefined exceptions.

Only exceptions that are actually used are left prefedined.  Hierarchy
is still there, and removed exceptions are just commented out.
showbc: Add few bytecodes related to "with".
objgenerator: close(): Throw instance of GeneratorExit (not type).

To comply with Python semantics and allow use of mp_obj_is_subclass_fast()
for exception matching.
py: Fix bugs with debugging output.

show_bc now decodes the prelude correctly.  Moved WRITE_FILE stuff from
runtime.c to emitglue.c.

Addresses issue #385.
stmhal: Add TODO's to exti.c; fix delay in lcd.c.