IsList( obj )
IsList returns true if the argument obj,
which can be an arbitrary object, is a list and false otherwise.
Will signal an error if obj is an unbound variable.
gap> IsList( [ 1, 3, 5, 7 ] );
true
gap> IsList( 1 );
false
~~~