back out the last two exception raising changes
extend test
fix 'raise type, instance' in Py3 by preventing it from trying to re-instantiate the instance
merge 0.19.x branch into master