Catching the `BaseException` instead of `Exception` in `throw()`

There are some exceptions, like `SystemExit` that do not inherit from
the `Exception` class, so in order to catch all possible exceptions,
we are now catching the `BaseException` class
Fixing the `PYTHONPATH` change in the Makefile

Instead of just adding the current directory to the python path, we were
overriding it with `PWD`, which was causing issues in my local env.
Merge pull request #32 from clarete/master

Fixing the `should.throw()` assertion for exceptions that don't inherit from `Exception`