Use true compile-time branching in SparseVector::assign to handle automatic transposition.
Fix a couple of warnings in unit tests.
Fix bug 611: diag * sparse * diag
Bug 556: workaround mingw bug with -O3 or -fipa-cp-clone