py, modcmath: Fix doc comment, and add some more of them.
py, objstr: Optimise bytes subscr when unicode is enabled.

Saves code bytes and makes it faster, so why not?
py: Make a function static; replace NULL with MP_OBJ_NULL.
py: Implement builtin reversed() function.

reversed function now implemented, and works for tuple, list, str, bytes
and user objects with __len__ and __getitem__.

Renamed mp_builtin_len to mp_obj_len to make it publically available (eg
for reversed).
py: Improve range: add len, subscr, proper print.

Can now index ranges with integers and slices, and reverse ranges
(although reversing is not very efficient).

Not sure how useful this stuff is, but gets us closer to having all of
Python's builtins.
py: Add .real and .imag attributes to complex numbers.
stmhal: Enable moductypes by default.

Also fixes compiler error in moductypes when compiled without debugging.

Addresses issue #778.
py: #if guard qstrs that are optional.

Also disable gc module on bare-arm port.
modzlibd: Decompress part of "zlib" module, based on miniz tinfl.c .
modzlib: Add tinfl.c from miniz SVN repo, r63.

The only change is line-ending convesion to LF.
tests: Add test for zlibd module.