returns the type of an expression as string.
Returns the type of the first list element if the expression is an
expression list.
Possible types are:
"ideal",
"int",
"intmat",
"intvec",
"list",
"map",
"matrix",
"module",
"number",
"none",
"poly",
"proc",
"qring",
"resolution",
"ring",
"string",
"vector".
For internal use only is the type
"?unknown type?".