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.
The intent behind my feature branch is that this is a user preference that's implicitly set by ``qutip.settings.debug``. That is, I wanted to try and move responsibility for managing debugging levels outside of what core numerical algorithms have to worry about. In particular, in [line 127 of the new ``logging.py``](https://github.com/qutip/qutip/pull/248/files#diff-0ff24385b9f81c96eb8b8c1a254ee433R127), the log level is set by looking at ``qutip.settings``. If finer granularity is needed, we can add another ``qutip.settings`` attribute that overrides ``qutip.settings.debug``, but I'm not sure that's needed at this point.