External version of AssumptionViolatedException

This is a pull-request for issue #390.

Just subclassing and deprecating the internal version and updating references. I'm wondering if there's a better package for the external version?