unix: Use standard return codes for main

As in the CPython manual: "Unix programs generally use 2 for
command line syntax errors and 1 for all other kind of errors"
unix: Create __bss_start and _end symbols for Mach-O targets.

It's a hack, but can't find a cleaner way to do it.
tests: create result file for test/basics/memoryerror.py .

On Mac OS "python3 test/basics/memoryerror.py" never runs out of memory, the process is frozen by the os before.
unix: Add asm statements needed to read registers with clang. Code generated by gcc 4.9.0 is unchanged (same statements, different order).

Both are inefficient, saving unmodified registers on the stack.
Fix some unused variables, and silence a clang warning about initialization override in vmentrytable.h
modstruct: Implement count specifier for strings (e.g. "100s").

Infra for counts of other types is there, need last mile to be implemented.
unix: Fix linker errors when time/ffi modules are disabled

When disabling these via mpconfigport.mk or on the commandline,
the correspoding build options are not set and the sources are not
built so the modules should not be added to the
MICROPY_EXTRA_BUILTIN_MODULES list since they are undefined.
py: Rename BYTE_CODE to BYTECODE (this was missed in previous rename).
py: Add support for __debug__ constant.

__debug__ now resolves to True or False.  Its value needs to be set by
mp_set_debug().

TODO: call mp_set_debug in unix/ port.

TODO: optimise away "if False:" statements in compiler.
py: Remove emit_glue init and deinit.  Needed only for debugging.

Debugging output for emit_glue now simplified so that the init and
deinit functions are no longer needed.
unix: Implement -O option to turn off __debug__ flag.
py: Fix bug in mpz_and function.

Addresses issue #610.
tests/int-long.py: Try to expose issue with recent "&" optimization.
py, unix: Add copyright for modules I worked closely on.
Merge pull request #613 from pfalcon/pauls-copyr

py, unix: Add copyright for modules I worked closely on.
Merge pull request #600 from stinos/unix-exitcode

unix: Use standard return codes for main
py: Improve mpz_and function.

This should now have correct (and optimal) behaviour.
objstr.c: Partial implementation of .rsplit().

sep=None is TODO.
unix: Add "_os" module with stat().

stat() is bad function to use using FFI, because its ABI is largely private.
To start with, Glibc .so doesn't even have "stat" symbol. Then, layout of
struct stat is too implementation-dependent. So, introduce _os to deal
with stat() and other similar cases.
objstringio: Implement io.BytesIO.

Done in generalized manner, allowing any stream class to be specified as
working with bytes.