ADDED: matplotlib_utilities module

- Moved functions that enhance matplotlib (colormaps, normalizations
etc.) to new module. Module is imported with try-except statement since
functions require matplotlib which may or may not be present.

- Updated wigner_cmap to allow for custom colors that can be defined in
any format acceptable to the Matplotib.colors.ColorConverter.
But the MidpointNorm function is a subclass of Normalize.  So if matplotlib is not there, just loading the module gives an error. This was causing some trouble in the Tavis testing.

> On Nov 3, 2014, at 15:10, Robert Johansson <notifications@github.com> wrote:
> 
> In qutip/__init__.py:
> 
> > @@ -240,3 +240,9 @@
> >  from qutip.utilities import *
> >  from qutip.fileio import *
> >  from qutip.about import *
> > +# try to load utilities dependent on Matplotlib
> > +try:
> i think it is better to unconditionally import the symbols from the module here. otherwise wigner_cmap and the other functions are absent if matplotlib is not available, and code that use these functions will fail with an error that looks like it is a problem with qutip or a qutip version issue (no such symbol wigner_cmap ...). It is better to import wigner_cmap and the other functions here, and let an error be raised within those function when they try to use matplotlib related functions. then the errors will be more clearly correlated with matplotlib not being available.
> 
> —
> Reply to this email directly or view it on GitHub <https://github.com/qutip/qutip/pull/249/files#r19719834>.
>