code cleanup in a method for DecideZero

for [ IsRingElement, IsHomalgMatrix ]
code cleanup in a method for DecideZero

for [ IsHomalgMatrix, IsHomalgMatrix ], 1001
DecideZero( M, rel ) now checks IsEmptyMatrix( M )
code cleanup in a method for DecideZero

for [ IsHomalgMatrix, IsList ]
code cleanup in a method for DecideZero

for [ IsHomalgMatrix, IsHomalgRingRelations ]
code simplification in constructor method /

for residue class rings
DecideZeroRows/Columns( A, B ) now replace B by a distinguished basis

and use this basis to reduce A.

This fixes all DecideZero( A, B ) methods which mistakenly assumed
their second argument B to be distinguished basis
with respect to which A can be reduced.

We need Coq-style programming!
the constructor / now does not compute a distinguished basis of the ring relations

(this is the constructor for residue class ring)

the following procedures now check if the ring relations
have an already computed distinguished basis and display them
. CommonHomalgTableForResidueClassRings.RingName
. Display for matrices over residue class ring

this change depends on the previous changes/fixes in DecideZero*
CoordinateRingOfGraph now allows empty lists of indeterminates
the main operation for Eliminate now expects a matrix and a list

all other operations are no derived from this one