stm: Initialize sys.path with ["0:/", "0:/src", "0:/lib"].

This is compatible with what search path was before sys.path refactor,
with addition of module library path ("0:/lib").
Merge pull request #307 from iabdalkader/master

Fix usart_obj_tx_char
Merge pull request #309 from pfalcon/stm-sys-path

stm: Initialize sys.path with ["0:/", "0:/src", "0:/lib"].
objint_longlong: Don't assert on invalid syntax, raise SyntaxError instead.
stm: Implement mp_import_stat.

To follow up pull request #309.
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.
Bytecode uint varlen encoding: support arbitrary values.
Bytecode int varlen encoding: support arbitrary values for signed ints too.
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().