Fix proc.tst
Make GAP to load this libsing package for checking (via 'make check')
moved "Compiling libsing" from README -> INSTALL
Silence useless and confusing extra output by tests
Fix invoking Singular interpreter functions with zero parameters
Fix GAP->Singular conversion of GMP ints for Singular debug builds
Handle orphan qrings in gapwrap() correctly

... although I now kind of doubt that they can ever occur in the first
place...
Minor cleanups
gapwrap: get rid of OBJ_COPY_OR_REF, we can simply always use CopyD
Improve gapwrap()

This fixes a problem where we’d keep incrementing the refcount of
singular rings each time they pass through gapwrap(). The code now tries
to be extremely conservative and *always* calls obj.CleanUp() before
returning.
Mark GAP wrappers for Singular strings as immutable.

Singular strings cannot be modified on the Singular interpreter level.
Hence some Singular (library) code might rely on that, and be confused
if Singular strings are changed after creation.

We can revise this revision in the future if we deem it absolutely
necessary, but for now, and after discussion with Hans, I prefer to go
with the conservative approach.
Simplify SingObj code
Fix gapwrap to also handled already wrapped qrings correctly
compareFunction:="uptowhitespace" in check.g
Implement GAP kernel APIs for copying objects.

In particular, ShallowCopy and StructuralCopy now should work.
Simplify _SI_FreeFunc by using sleftv::CleanUp()
Ensure currRing is set when copying sleftvs
Cleanup libsing.h
Add IsCopyableSingularType

Since IsCopyableObjSingular only depends on the type, it makes sense
to factor out the code checking the type into a separate function
(the new IsCopyableSingularType), so we can more easily use it from
other places.
Simplify gapwrap() using IsCopyableSingularType

As an added benefit, this helps ensure that things stay consistent
across the different functions.