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.
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.