Opt branch

@acroy, thanks for the nice work. I created a pull request, since this facilitates adding line comments to the code. Hence, see below for further comments of further potential comments.
I also noticed that `avnorm` is not needed in the happy break-down case, so I changed this
to `(mx != m) || (avnorm = norm(Base.A_mul_B!(p,amat,vm[m+1])))`.