ENH: Silence test output

A simple patch that makes minimal changes to tests that silences almost all output.
Most fixes were simply changing options to not output (e.g. disp=False), and a few
others trapped errors.

A new class was introduced in tools/testing.py that allows general output in a test
to be silenced.  It would be preferred for code to only raise warnings and not simply
print, so that the warning could be captured instead.
ENH: Converted parallel message to warning

parallel_funciton was printing a warning, but not raising one.  Converted to
a ModuleNotAvailableWarning.

Removed the 'catch all' class that was trapping this test.  Catching all text is
generally a bad idea.
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.