[amg][bugfix] Fix dirichlet processing in FastAMG
The comment and surroundig code indicate that FastAMG should solve during pre() for dirichlet entries. This is determined by checking if a row does contain a diagonal entry while all other entries are zero.
The check for this was buggy because hasDiagonal was always false. This merge commits sets it to true if a diagonal entry is found and nonzero.