Fix to allow usbd_msc_storage.c to compile when MICROPY_HW_HAS_SDCARD isn't defined.
Have make remove targets if a recipie fails.
Allow the uPy used by run-tests to be overridden

with MICROPY_MP_PY envvar, in an analogous way to MICROPY_CPYTHON3 envvar.

(the reason for this will be made clearer by a later PR)
Add 'test' target to unix/Makefile

In conjunction with #504 this allows you to do things like:
```shell
make -C unix clean && make -C unix test CC=gcc-4.7
```
all from the top-level micropython directory :-)

Something similar could probably be done for windows/Makefile too, but I don't have a cygwin setup to test with.
Stupid typo
build directory can now be renamed

The autogenerated header files have been moved about, and an extra
include dir has been added, which means you can give a custom
BUILD=newbuilddir option to make, and everything "just works"

Also tidied up the way the different Makefiles build their include-
directory flags
stmhal: Improve flash storage cache management.

Internal flash used for the filesystem is now written (from the cache)
only after a 5s delay, or when a file is closed, or when the drive is
unmounted from the host.  This delay means that multiple writes can
accumulate in the cache, and leads to less writes to the flash, making
it last longer.

It's implemented by a high-priority interrupt that takes care of flash
erase and write, and flushing the cache.

This is still only an interim solution for the flash filesystem.  It
eventually needs to be replaced with something that uses less RAM for
the cache, something that can use more of the flash, and something that
does proper wear levelling.
Merge branch 'master' of github.com:micropython/micropython
stmhal: Replace magic number 3 with CDC_IN_EP define.
stmhal: Fix 64-byte USB packet bug properly.

A 64-byte packet is now followed by a 0-byte packet if there is nothing
more to send.  This flushes the USB endpoint.
stmhal: Add more math functions.

Taken straight from musl and newlib.  License seems compatible with MIT.
tests: Remove print('flush') from 2 tests, since stmhal now works.

Fixing the USB problem on stmhal now gets these 2 tests working.
Merge pull request #500 from dhylands/fix-sdcard-removed

Fix to allow usbd_msc_storage.c to compile when MICROPY_HW_HAS_SDCARD is...
Merge pull request #501 from dhylands/fix-gen-fail

Remove generated .h file if the generation process fails.
stmhal: Change VID to 0xf055=FOSS, and PID to a random number.

Needs a better solution.
Changed the envvar name to MICROPY_MICROPYTHON

As discussed in #504
Updated the envvar used by ./run-tests

As discussed in #504
modffi: Support float types.
tests: Split out those tests requiring float and import.

Tests in basics (which should probably be renamed to core) should not
rely on float, or import any non-built-in files.  This way these tests
can be run when those features are not available.

All test in basics now pass on the pyboard using stmhal port, except for
string-repr which has some issues with character hex printing.
py: Don't assert but go to unsupported_op in mp_binary_op for small int.