Take changes from https://github.com/micropython/micropython/pull/3694
(expected to be merged soon) as well as other accumulated stuff from
upstream that we want.
Leave our desired differences, including:
* silencing warnings in python3
* renaming the file descriptors returned by openpty()
* adding ulab tests
* Adding "." to the import path for skip_if
This speeds up `make test_full` and should also reduce the time in CI
a little bit.
Commit cb68a5741a broke automatic Python
feature detection when running tests, because some detection relied on a
crash of a feature script returning exactly b"CRASH".
This commit fixes this and improves the situation by testing for the lack
of a known pass result, rather than an exact failure result.
Signed-off-by: Damien George <damien@micropython.org>