msvc: Use built-in alignof

This also fixes a 'unnamed type definition in parentheses' warning on the
alignof implementation define in binary.c
py: Fix mult by negative number of tuple, list, str, bytes.

Multiplication of a tuple, list, str or bytes now yields an empty
sequence (instead of crashing).  Addresses issue #799

Also added ability to mult bytes on LHS by integer.
Merge pull request #798 from stinos/msvc-alignof

msvc: Use built-in alignof
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.
Implement this LoadDynLib function for msvc.
msvc: Build seperate micropython dll and executable

- export some core functions using exports.def, export constants/data using the
typical dllexport (exporting data using .def file yields multiple copies of data).
- rename micropython project to micropythoncore and have it produce a dll + impor lib
- add new micropython exe project (which just calls the exported main from the dll)
- add property sheet for external modules