Merge pull request #238 from pfalcon/bool_len

Implement __bool__ and __len__ via unary_op virtual method for all types.
py: Improve __bool__ and __len__ dispatch; add slots for them.
vm: Add basic implementation of END_FINALLY opcode.

Allows to have nested try blocks with except filters.

TODO: Don't add END_FINALLY's exception re-raise points to traceback.
windows: Make windows/main.c independent from unix/main.c

Up to know changes unix/main.c were able to break the windows
build because windows/main.c simply included unix/main.c.

Now windows/main.c stands on it's own and won't break if
unix/main.c changes.
Fix Makefiles: -O3 option was not being applied; mkdir for STM.
Merge pull request #240 from msiemens/windows_fix

windows: Make windows/main.c independent from unix/main.c
Merge pull request #239 from pfalcon/end_finally

vm: Add basic implementation of END_FINALLY opcode.
py: Add MICROPY_ENABLE_FLOAT around a float specific piece of code.
Add tests for str.strip
Implement str.replace and add tests for it.
Add testcase with exception handler spread across functions.
Typo fixes in comments.
Dump 4 more bytecodes (loop and finally ones).
vm: Introduce structure for exception stack entry, record entry type.

Also, handle SETUP_FINALLY opcode.
Update VM stacks comments.
Add basic try-finally testcase.

It's mildly suprising these work without further changes to exception
handling code (the only change required was to handle SETUP_FINALLY).
Fix SIGSEV when running "a"()

rt_call_function_n_kw did check for integers but not for strings
being called. Added a check so running "a"() won't SIGSEV but
throw an exception.
Merge branch 'master' of github.com:xbe/micropython into xbe-master
py: Make str.replace do 2 passes over the string.
Merge branch 'fix_str_call' of github.com:msiemens/micropython into msiemens-fix_str_call