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.
Would it be possible / make any sense to pass a parameter log_level with values DEBUG,  INFO, WARN, ERROR, CRITICAL, with the default being ERROR, and use statements like:
if log_level <= DEBUG:
    logger.debug("some message")

if log_level <= INFO:
    logger.warn("some more detailed message")