some optimizations
cleanup. assert that checks if unsigned long long is larger than bitset<nbit__>

some fun stuff included (though seemingly useless)
Merge commit '2d84ca197bd247deb756ee0af4a870966d8e8b3a' into ras
Changing some unique_ptrs to Matrix class.
Merge branch 'ras' of https://github.com/shiozaki/BAGEL into ras

# By Toru Shiozaki
# Via Toru Shiozaki
* 'ras' of https://github.com/shiozaki/BAGEL:
  updates TaskQueue
  compiles with clang on linux, but does not work. still investigating..
  changes made in an unsuccessful attempt to compile BAGEL with icpc 14.0
Merge branch 'master' into ras

# By Toru Shiozaki (2) and Shane Parker (1)
* master:
  Trying to introduce move constructors and move assignment to the Matrix class. It seems to function properly but also make no difference...
  include cleanup
  code quality
SpinTask in RAS: use map to avoid computation of lexical ordering insdie the loop. Much faster
minor
spin() optimization:
  - unordered_map
  - remove redundant construction
sigma_ab:
  - compress phib_ij so that now half as many matrices are computed, but each one is twice as long, increasing dgemm efficiency
Merge branch 'master' into ras

# By Toru Shiozaki
# Via Toru Shiozaki
* master:
  move constructors for matrix classes (fix for parallel builds)
  move constructors for matrix classes
  minor
Merge branch 'master' into ras

# By Shane Parker (2) and Toru Shiozaki (1)
* master:
  MKL for sparse matrix - dense matrix multiply. That's the only routine included so far. More can be included as they are needed.
  SparseMatrix class redesigned to work with MKL_sparse_blas. Works without MKL at the moment. MKL bindings coming next.
  minor
sigma_ab can be done with a sparse matrix multiply now. Sparse and dense can be toggled with the "sparse" keyword in input section.