ENH: Separated warnings from other code into a new file

sm_exceptions.py now holds all custom warnings and errors. ConvergenceWarning
was moved to this new module, and imports were corrected.