minor code updates to allow BFS to be called easier
ADDED: Breadth-first-search function
ADDED: seperate function to get the degrees of the nodes

Forgot to add one to the degrees for diagonal terms.  Also cleaned up
pyx file and added some more comemnts so I dont forget.
UPDATED: sparse_bandwidth now returns max bandwidth first
FIXED: bug in sparse permute
FIXED: sparse permute import errors
Added tests for sparse permute
FIXED: bug for complex time-dependent args
minor py3 compatibility fix
fixed bug in storing states in bloch_redfield code that was reported by Ümit. also some code cleanup
improved error handling. some code clean up
fix compatibility issue between bloch_redfield module and new cython based expect implementation. some docs and code cleanup
unit tests for bloch-redfield module
Merge pull request #69 from jneer/master

Import ket2dm into metrics.py
UPDATED: Installation requirements
REMOVED: All calls to qutip_gui are removed
REMOVED: Code for calling factorial function in SciPy<0.10
ADDED: symrcm function for reordering sparse matricies
UPDATED: permute and reverse permute now work for all int, float, and complex data types
Minor text addition to bandwidth function