py: Revert change of include, "" back to <> for mpconfigport.h.
gc: Use byte* pointers instead of void* for pointer arithmetic

void* is of unknown size
stream: Use mp_obj_is_true() for EOF testing.

Getting a length of string may be expensive, depending on the underlying
implementation.
Merge branch 'gc-pointers' of github.com:stinos/micropython into stinos-gc-pointers
py, gc: Revert ret_ptr to void*, casting to byte* for memset.
Merge branch 'stinos-gc-pointers'
objstr: Be 8-bit clean even for repr().

This will allow roughly the same behavior as Python3 for non-ASCII strings,
for example, print("<phrase in non-Latin script>".split()) will print list
of words, not weird hex dump (like Python2 behaves). (Of course, that it
will print list of words, if there're "words" in that phrase at all, separated
by ASCII-compatible whitespace; that surely won't apply to every human
language in existence).
unicode: String API is const byte*.

We still have that char vs byte dichotomy, but majority of string operations
now use byte.
unicode: Add trivial implementation of unichar_charlen().
objstr: Refactor to work with char pointers instead of indexes.

In preparation for unicode support.
msvc: Enable GC and use custom function for getting bss start and end
py: Make import recognize and load native modules (.pyd or .so files)

Simply check if a .pyd or .so file exists on the Python search path
(if a .py file if not found) and call a function to get a module from it
msvc: Implement LoadDynLib
msvc: Make part of uPy dynamically loadable via import lib

Exports some core functions using exports.def, export constants/data using the
typical dllexport (exporting data using .def file yields multiple copies of data).
Create an import lib next to micropython.exe whcih can be used by modules.
msvc: Add property sheet for building native modules, update README
msvc: Add malloc_with_finaliser to exports since GC is ok now