Merge pull request #157 from anubhavvardhan/add_gates

Added functions for bell states and singlet/triplet states
restructure qutip.sparse so that it is independent of Qobj. All methods should use a constistent naming sp_xxx and should only operate on sparse matrices
no global import of qutip.sparse
no global import of qutip.sparse
change qobj/entropy/metrics to use functions in qutip.sparse by passing qobj data instead of qobj
use sp_permute/sp_bandwidth instead of sparse_xxx. Only import the required functions from qutip.operator
rename test_Sparse to test_sparse
rename test_Sparse to test_sparse
fixed tests for renamed functions and isolation of qutip.sparse from qutip.qobj
more fixes in sparse unit tests for changes made in qutip.sparse
pep8 fixes in test_sparse.py
pep8 fixes in test_graph.py
pep8 fixes in test_sp_eigs.py
reorganized implementation of sp_eigs: split into functions for sparse and dense eig functions
Merge pull request #161 from anubhavvardhan/add_gates

Added globalphase to phasegate resolution
Merge pull request #158 from jrjohansson/refactor-sparse-module

Refactor sparse module
UPDATED: removing .pyx files no longer an exception

Removing the .pyx file at the end of the cython mcsolve routine is not
really necessary and therefore does notneed to throw an expection
UPDATED: removed qobj code from graph module

graph module is now independent of any qobj code.
UPDATED: Shorter test names

Made some test names shorter to fit within 80 char and better formating.
UPDATED: renamed liouvillian_fast to liouvillian

The old liouvillian code was no longer used and depreciated.  Now fast
version used everywhere (it already was used everywhere internally)