Initial checkin with STM HAL

This compiles and links, but hasn't been tested on a board
yet and even if it was run, it doesn't currently do anything.
py: Fix some bugs in mpz; add mpz_from_ll and mpz_set_from_ll.

A couple of bugs in mpn_shl, and overflow bug in mpz_set_from_int.
py: Implement integer overflow checking for * and << ops.

If operation will overflow, a multi-precision integer is created.
Add more tests for multi-precision integers.
Merge pull request #339 from dhylands/stmhal

Initial checkin with STM HAL
Fix realloc
py: Add expm1 to math module.
stmhal: Get SysTick and HSE working.
stmhal: Set SysTick priority to highest level.
stm: Add some floating-point math functions.

These have been taken from the musl library.  It's a bit of a hack for
now, just to get math functions working.
Merge pull request #340 from iabdalkader/realloc

Fix realloc
py: Cosmetic changes.
windows: Change MICROPY_FLOAT config to new scheme.
REPl working on UART6 with STMHAL
Implement str.count and add tests for it.

Also modify mp_get_index to accept:
1. Indices that are or evaluate to a boolean.
2. Slice indices.
Add tests for these two cases.
Fix issues in str.count implementation.

See pull request #343.
Merge pull request #342 from dhylands/stmhal-repl

REPL working on UART6 with STMHAL
Cleanup systick for stmhal
Merge pull request #344 from dhylands/stmhal-systick-cleanup

Cleanup systick for stmhal
Merge pull request #343 from xbe/master

Implement str.count and add tests for it.