Follow rename of readline_init to readline_init0 on teensy
Merge pull request #789 from dhylands/fix-teensy-2014-08-04

Follow rename of readline_init to readline_init0 on teensy
travis: Build stmhal/ST32F4DISC and teensy in Travis tests.
stmhal, math: Define _M_LN2 if not already defined.

Addresses issue #790.
stmhal: Wrap DAC module and os.urandom in relevant #if's.
stmhal: Enable relevant GPIO clock when Pin obj is init'd.
stmhal: Put #if guards around all GPIOx_CLK_ENABLE's.

Specifically, teensy port does not have these macros defined.
stmhal: Ability to stat /flash and /sd.

Addresses issue #780.
stmhal: Update STM32Cube F4 HAL driver to V1.3.0.

This patch updates ST's HAL to the latest version, V1.3.0, dated 19 June
2014.  Files were copied verbatim from the ST package.  Only change was
to suppress compiler warning of unused variables in 4 places.

A lot of the changes from ST are cosmetic: comments and white space.
Some small code changes here and there, and addition of F411 header.

Main code change is how SysTick interrupt is set: it now has a
configuration variable to set the priority, so we no longer need to work
around this (originall in system_stm32f4xx.c).
Add support for selecting pin alternate functions from python.

Converts generted pins to use qstrs instead of string pointers.

This patch also adds the following functions:
pyb.Pin.names()
pyb.Pin.af_list()
pyb.Pin.gpio()

dir(pyb.Pin.board) and dir(pyb.Pin.cpu) also produce useful results.

pyb.Pin now takes kw args.

pyb.Pin.__str__ now prints more useful information about the pin
configuration.

I found the following functions in my boot.py to be useful:
```python
def pins():
    for pin_name in dir(pyb.Pin.board):
        pin = pyb.Pin(pin_name)
        print('{:10s} {:s}'.format(pin_name, str(pin)))

def af():
    for pin_name in dir(pyb.Pin.board):
        pin = pyb.Pin(pin_name)
        print('{:10s} {:s}'.format(pin_name, str(pin.af_list())))
```