Started complex redesign by removing most IndReIm related code.
Added a typedef defining Complex as std::complex<Real>
Created an imaginary part pointer i_ and renamed p to r_ inside ITensor. Began updating ITensor code accordingly.
Merge branch 'master' into complex

Conflicts:
	itensor/itensor.cc
Some more work on new complex ITensor design. Continued removing old uses of dat pointer and added methods takeRealPart and takeImagPart.
More work on getting new ITensor design to compile.
Implemented minimal multiplication of tensors by Complex scalars. Fixed headers to compile with new complex implementation.
Merge branch 'master' into complex
Fixed and unit tested a lot of bugs in new implementation of ITensor contracting and non-contracting products and addition.
More bugfixes to scale_ issues in contraction methods. Added helper method ITensor::equalizeScales. Update IQTensor unit tests.
Fixed some trivial complex index related bugs. Updated mps and svdalgs unit tests. Still getting errors in svdalgs_test.
Improved ITensor::randomize for complex case.
Fixed a bug related to taking imag part of a real ITensor.
Implemented ITSparse and complex ITensor contracting product within new complex code. Fixes all svdalg unit tests except OrthoDecomp.
Fixed SVD version of orthoDecomp for use with new complex scheme.
Slight change to ITensor::operator*(Complex z) to correctly handle the case of z=0.
Added support for multiplication of ITensor by a general Complex number.
Possible bug fix of ITensor::tieIndices
Fixed bug in tieIndices where imaginary dat was not being properly allocated to the new size.
Wrote unit test for multiplication of ITensor by a general complex scalar.