Adding wrapper for assertions to use that explicitly raises AssertionError (for -O)
Moving ensure to utils
Removed assertions.py
Replace use of asserts with wrapped ensure() calls to deal with python -O