runtests.py: exit with status 1 if there are errors or failing tests

Before this changeset runtests.py would exit with status code 0
even when tests were failing, tricking Travis-CI into thinking a
build was successful.
Merge pull request #141 from lvillani/runtests-exit-code

runtests.py: exit with status 1 if there are errors or failing tests.
Make it possible to encrypt Python bytecode
Crypto: add basic tests
Make it possible to run the whole test suite with crypto enabled