Symmetric gauge fixing and canonical form for sandwich mode.
Squashed commit of the following:

commit 9b93e34433b3c01174c3cf1392260d567b683c38
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Sun May 5 19:39:29 2013 +0200

    Remove restore CF bulk only method.

commit 3f6068304a11f941244010a2b397d210038c4f61
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Sun May 5 10:46:22 2013 +0200

    Report sanity check failures better.

commit 741038f8ca5e9a288427585bb7da89f7671fc6d8
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Sun May 5 10:04:57 2013 +0200

    A_L and A_R should never get scaled, so do not run calc_lr() except as a sanity check.

commit 69ad3e39b82f2e52ce45d6c15f62604df35f1b03
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Sun May 5 09:19:34 2013 +0200

    Fix use of restore_RCF_r in sandwiches.

commit c6b7d5aeeffd1461a95638611fad3a728e6e30f1
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Sat May 4 22:37:38 2013 +0200

    Add a simple_renorm() for sandwiches. Use self.update() in RK4.

commit ab5c69363ec65320d403c5abe3fa86fe5bb30225
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Sat May 4 22:10:23 2013 +0200

    Make symm. CF work for sandwiches.

commit 510e7bcddd5fc01a002c7a1f30ab0a0020950fa0
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Thu May 2 19:46:55 2013 +0200

    Make sandwich symm. gauge a bit closer to working.

commit 46d6d7cd5d54f467d087211d9b01790889cafd66
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Thu May 2 19:06:53 2013 +0200

    First attempt at symm. canonical form for sandwiches.

commit 42a477c68b501bb3f858cef64c9509b730c38152
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Thu May 2 17:25:08 2013 +0200

    Add left canonical form for generic mps.

commit ddd22a334e3b0b62dc1e67379e5e5e0061965706
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Tue Apr 30 17:25:46 2013 +0200

    Handle growing and shrinking.

commit 3e10091eacb1851ce733dda74e90f5478af88e8c
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Thu Apr 25 18:37:08 2013 +0200

    Fix sandwich tdvp with symmetric gauge-fixing.

commit cd3a9a0a06c6bb46e980f0a1d336d3787e0ad5c1
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Thu Apr 25 17:54:11 2013 +0200

    First attempt at implementing symmetric gauge-fixing for sandwiches.

commit 903cfde20f1de2cebe3184ce4e496d1ac74db580
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Thu Apr 25 17:53:50 2013 +0200

    Hack tdvp_gen to support a left gauge-fixing mode.

commit 4bf20456a570c354543449a558b5441fc2d523b7
Author: Ashley Milsted <ashmilsted@gmail.com>
Date:   Thu Apr 25 14:40:49 2013 +0200

    Add left gauge-fixing versions of key tdvp functions.
Fix fidelity per site.
The K_left matrices are 'bras'. Try to make sure we use them consistently.
Update tdvp_common.pxd.
Supply c sources (cython-generated) and build those during setup.
Fix inner products for 'bra' vectors. Give them their own adot_noconj().
Merge pull request #4 from mlewe/master

Fix a small bug in calc_BHB_prereq_3s.
Optimize mps gen update without restore_CF a little.
Fix take_step_RK4 (gen) for 3-site hamiltonians. Also, update should not truncate by default!
Merge branch 'master' of github.com:amilsted/evoMPS into dev
Make building extensions optional.
Variable to determine gauge-fixing mode used in gen.
Sandwich cleanups. Fix RK4 update mode (new gauge-fixing breaks dependency assumptions).
Fix dtypes of simple matrix objects.
Update tdvp_common.c to reflect previous commit to tdvp_common.py.
Some cleanups. Match tdvp gen update() with tdvp mps.
Update mps gen update() function.
Careful with the eigenvalues...
Add some more output to go() in tdvp_samdwhich. Change tolrance to use mean eta... good?
Fix full-rank condition.