Make the progressbar graphically more pleasing.

Now it is an actuall progressbar. It uses the '\r' character
in order to erase the entire line before each update.

It works in the IPython notebook as well.
Initial work on measurement and reset functions for a qubit register
Merge branch 'master' into measurement
Merge branch 'master' into measurement
Merge branch 'measurement' into 3.1.0
values are no longer multiplied by 2*pi by the function
First upload of the qtrl modules

Main module ctrlpulseoptim provides functions for optimising control
pulses for quantum systems. Relies on the other classes for processing.

Examples in the 'examples' folder to demonstrate usage.
Updated: preconditioner

Failure to create preconditioner now raises exception insteady of
warning.  Since preconditioning is really required, this saves the
routine from performing iterations that are likely not to converge.
Also allows for catching with try-except statement.
Added WignerNorm class

Creates normalization that makes any colormap a nonlinear colormap
center around zero.  Can be used in plots by calling norm=WignerNorm()
in a plot.
Added new logging and settings support, started refactoring debugs.

This change enables the use of Python standard logging, and backs
it by a new qutip.settings entry. A few instances of classic
'if debug: print' style logging have been refactored.
The new qutip.settings entry is based on configobj, with a fallback
to classic qutiprc parsing if that library is not available.
Errors in the new functionality introduced by this commit are also
logged, and can be accessed by setting up logging.basicConfig
*before* importing QuTiP.
Turn preconditioner off by default in SS solver
Changes to setup to allow for configspec.ini, move of _logging.
Changed to point to new name of logging module.
Added __all__ to logging.
Stripped out old parsing logic, improved IPython detection.
Updated visualization

- Changed WignerNorm to MidpointNorm as the normalization is more
general.
-Enclosed function in try statement to catch loading if matplotlib not
available.
Fixed visualization

removed import of MidpointNorm from all
Removed MidpointNorm from visualization

Plan to make module dedicated to just matplotlib functionality.
ADDED: matplotlibutilities 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.
Pushed try statement to module

try import now in matplotlib_utilities module