tests: Allow to run tests on pyboard.

To run the tests on the pyboard you need to set the "test_on_pyboard"
variable to "True", and also have tools/pyboard.py available for import
(easiest is to symlink to it).
Merge pull request #419 from pfalcon/stmhal-file-streams

stmhal: Reimplement file support using stream protocol API.
Implement del
stmhal: Add home/end cursor support in readline.

Home/end work in picocom and screen (different codes in those 2
programs).  Also, CTRL-A (for non-empty liny) and CTRL-E act as
home/end.
Changes to get unix/ port compiling on Cygwin.
py: Handle small int power overflow correctly.
Add the git version to the banner
Implements most of str.modulo

The alternate form for floating point doesn't work yet.
The %(name)s form doesn't work yet.
tests/file-with: Add testcase which failed for @dpgeorge.

Works on x86.
py: Add m_malloc_fail function to handle memory allocation error.

A malloc/realloc fail now throws MemoryError.
py: This time, real proper overflow checking of small int power.

Previous overflow test was inadequate.
tests: Make rge-sm.py use less memory (integration step increased).

In addition to memory allocation failure, other problem was that 10**17
was overflowing.  Now passes.
py: Enable optimisation of multiplying 2 small ints in compiler.
Merge pull request #422 from dhylands/str-modulo

Str modulo
unix: Allocate more heap memory by default on 64 bit machines.

Pointers are 2x bigger on 64 bit machines, so we should allocate twice
the memory to have a comparable heap size.
py: Remove mp_obj_less (use mp_binary_op(MP_BINARY_OP_LESS..) instead).
py: Allow dict constructor to take keyword arguments.
py: Make False and True act like 0 and 1 for integer arithmetic.
run-tests: Elaborate python3 command override capabilities.
unix: Routines related to terminal reading should use system malloc.

Otherwise we have mixup between system and GC alloc.