The intention of the affected code was an optimization by avoiding
unnecessary multiplication of C when beta == 1. The bug was that the
condition compared beta to 0 instead of 1 (when uplo == blas.Lower)
which behaved correctly for all values except 0. This went unnoticed
since no test case used beta of 0 and the coverage was complete. This
commit fixes the bug and adds test cases for both Lower and Upper values
of uplo.