stmhal: Add comment to DAC driver for function to implement.
stmhal - fixed up adc stuff

Added support for the ADC channels and mappings to make_pins.py

I'm not sure if the hal properly deals with the channel 16/18 differences
between the 40x and 42x. It seems to deal with it partially. This particular
aspect will need testing on a 42x or 43x.
stmhal: Make pyb.ADC the ADC class (not a function).
Add mp_obj_module_register

* Add function to load static modules.
* Use module_register to pyb module.
rt_load_method(): Add missing qstr_str() when getting type name.
objexcept: Add "args" exception attribute, as well as StopIteration.value.
Fix netduino to build

Fix adc to work with resolution changes.
Merge pull request #375 from dhylands/stmhal-adc

Some changes that I forgot to push with my last pull request
Merge pull request #373 from iabdalkader/module_register

Add mp_obj_module_register
Proper support for registering builtin modules in ROM.

Comes with some refactoring of code and renaming of files.  All modules
are now named mod*.[ch].
py: Removed some unnecessary exception objects.

They still exist in commented-out form in objexcept.c if they are ever
needed.
py: Replace naive and teribble hash function with djb2.
Merge pull request #370 from xbe/str-rfind

py/objstr.c: Implement str.rfind() and add tests for it, refactor find_subbytes().
stmhal: Add I2C support; change accel driver to use new I2C.
stmhal: Shuffle around some init functions in main().
stmhal: Change Usart creation function to class make_new.
objgenerator: Implement return with value and .close() method.

Return with value gets converted to StopIteration(value). Implementation
keeps optimizing against creating of possibly unneeded exception objects,
so there're considerable refactoring to implement these features.
vm: Implement raise statement w/o args (reraising last exception).
objexcept: Add mp_obj_exception_get_value() convenience function.

This gets "value" of exceptions in the sense as it's defined for
StopIteration.value (i.e. args[0] or None).

TODO: This really should be inline function.
py: Add support for user-defined iterators via __iter__, __next__.