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](http://configobj.readthedocs.org), 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. The optional configobj dependency should almost always be met, since it's shipped with matplotlib.
This is implicitly done by the Python ``logging`` module, as the ``logger`` object has an attribute ``level``, such that the ``debug``, ``warn`` and other such methods are ignored if the level is not low enough for them to matter. This can still cause a slowdown, however, in that the log messages are generated and then ignored, so if there's logging in the innermost loop, it might make sense to check ``logger.level`` before even generating a message.