Merge pull request #44 from eschnett/master

Make MPSt::eigsKept compile
Lots of cleanup of itensor.h and iqtensor.h. Removed some unused methods. Added isZero methods for checking whether tensors are exactly zero, with a "Fast" option.
Faster implementation of ITensor::takeImagPart that doesn't allocate if imag part is zero. Need to test further that zero scale_ handled properly throughout rest of library, though.
New implementation of MPSt::position which works with only one site tensor at a time to be more efficient.
Added accessor method to get operator back from LocalMPO object.
Fixed case where there's no common index in orthMPS.
Fixed debug mode IndexSet::noprime check.
Put in a check to get out of an infinite loop in davidson.

Renamed template argument (LocalT to BigMatrixT) in davidson
to make clear that this is the big matrix that davidson works on.

Added some error checks.
Removed redundant size() method from IndexSet (just use r() instead).
Removed a few unused or redundant methods from IndexSet and QN.
More info in a div error printout
Changed name of argument in checkQNs for an MPO
Fixed minor issue where IQCombiner wasn't auto-determining arrows properly.
Improved printout of QNs in IQTensor (added commas in between).
Replaced some MPOt overloads with simple calls to the parent (MPSt) method with an addition Opt. Changed MPSt::orthogonalize to reset orthogonality bounds before calling position(N). Renamed the confusing addNoOrth to addAssumeOrth.
Merging Steve's latest changes into my repo.
Cleanup of some debugging code.
Removed an unused IQTensor constructor.
Removed jth IQTensor index accessor (because tensor interface shouldn't depend on index order). Updated last few parts of the code still using it.
Added print (<<) support for Spectrum objects. Lots of work on experimental tevol code. Mostly simplified and cleaned up code related to grouping and ungrouping pairs of sites before and after time steps.