py: Add very basic implementation of dir() builtin.

Only works on modules and class instances.
py: Implement builtin exec.
Expose __import__() function.
Fix unstable case in builtin_id.py test.
Add ImportError.
Initial support for Netduino

This also fixes up the IRQ for the PYBOARD4 USERSW
although I was unable to test that functionality.
Use qstr id to create sys module.
mp_obj_new_list(n, items): Copy items only if not-NULL.

Similar to mp_obj_new_tuple().
Merge pull request #259 from dhylands/netduino

Initial support for Netduino
Add generic MIN()/MAX() functions.
Implement support for sys.path when loading modules.

sys.path is not initialized by rt_init(), that's left for platform-specific
startup code. (For example, bare metal port may have some hardcoded defaults,
and let user change sys.path directly; while port for OS with environment
feature can take path from environment). If it's not explicitly initialized,
modules will be imported only from a current directory.
unix: Initialize sys.path from MICROPYPATH environment variable.

If it's not available, "~/.micropython/lib:/usr/lib/micropython" is used
as a fallback.
unix: Be sure to add current/base dir of a script to sys.path.

This mirrors CPython behavior and makes possible to run scripts which
import other modules not from script's directory.
Remove older import helpers, no longer used.
py: Add built-in super.
py: Fix bug with dual initialisation of RT_UNARY_OP_NOT.

Fixes Issue #261.
Merge pull request #262 from pfalcon/sys-path

Implement sys.path support
Search paths properly on import and execute __init__.py if it exists.
Add additional testcase for finally/return.
Add more finally + break/continue testcases.