Add pin mapping code.

This commit also introduces board directories and moves board
specific config into the appropriate board directory.

boards/stm32f4xx-af.csv was extracted from the STM32F4xx datasheet
and hand-tweaked.

make-pins.py takes boards/stm32f4xx-af.csv, boards/stm32f4xx-prefix.c,
and boards/BOARD-NAME/pins.csv as input and generates the file
build/pins_BOARD_NAME.c

The generated pin file for PYBOARD4 looks like this:
https://gist.github.com/dhylands/9063231

The generated pins file includes all of the supported alternate
functions, and includes upsupported alternate functions as comments.

See the commnet block at the top of stm/pin_map.c for details on
how to use the pin mapper.

I also went ahead and modified stm/gpio.c to use the pin mapper.
import: Implement "from pkg.mod import sym" syntax properly.

http://docs.python.org/3.3/library/functions.html#__import__ :
"When the name variable is of the form package.module, normally, the
top-level package (the name up till the first dot) is returned, not
the module named by name. However, when a non-empty fromlist argument
is given, the module named by name is returned."
stm: Add RTC start-up info, and uPy bindings.
Merge branch 'master' of github.com:micropython/micropython
Merge pull request #310 from dhylands/pin_map

Add pin mapping code.
stm: Update PYBOARD4 pin mapping.
Merge pull request #312 from pfalcon/int-varlen

Support varlen encoding for arbitrary int and uint numbers
py: Fix type of integer in decoding int.
compile: Add comments ergarding non-implemented relative imports.
emitbc: Correct buffer sizes for varlen int encoding.

Assuming we have truncating (floor) division, way to do ceiling division
by N is to use formula (x + (N-1)) / N. Specifically, 63 bits, if stored
7 bits per byte, require exactly 9 bytes. 64 bits overflow that and require
10 bytes.
__import__: Catch relative import attempts and throw NotImplementedError.
showbc: Update for recent int varlen storage refactor.

TODO: De-duplicate DECODE_UINT, etc. definitions.
parse: Note that fact that parser's small ints are different than VM small int.

Specifically, VM's small ints are 31 bit, while parser's only 28. There's already
MP_OBJ_FITS_SMALL_INT(), so, for clarity, rename MP_FIT_SMALL_INT() to
MP_PARSE_FITS_SMALL_INT().
parse: Refactor parse node encoding to support full range of small ints.

Based on suggestion by @dpgeorge at
https://github.com/micropython/micropython/pull/313
Merge pull request #314 from pfalcon/parse-node-refactor

parse: Refactor parse node encoding to support full range of small ints.
py: Fix casting and printing of small int.
py: Rename strtonum to mp_strtonum.

strtonum clashes with BSD function of same name, and our version is
different so warrants a unique name.  Addresses Issue #305.
py: Put number parsing code together in parsenum.c.
Add basic super() test.