clsp: rename sparse->cl_sparse
clsp/Makefile: better cleaning
clsp/tests.sh: make rm not fail the make clean
clsp/test.c: comment out some sparse includes
clsp: add symlinks to sparse headers
clsp/tests.sh: prettier output
clsp/Makefile: extra clean-check target
clsp/Makefile: enhance dependecies
clsp/tests.sh: watched changes in test runs
clsp/testsuite: new helper simdiff

to find out similarity of two files
clsp/isomorphic: check input files
clsp/tests.sh: do the similarity check of pretty prints
clsp: fix code emitted on tests/struct/s-01.c
clsp/assignment: proceed lhs type first, then rhs one
clsp: gcc_prelude can be used to set PATHs
clsp: get scalar types directly from hashtable
clsp: prevent from segfault (garbage in clt)
clsp: remove duplicit clt initialization
clsp: format code
clsp: fix the problem of generating duplicite clt types

because sparse does not make an affort to unify pointer-based
types (respective symbols) such as two different symbols representing
type "void *" (that, contrary, are based on the very same symbol for
"void"), we have to do this pointer-based types tracking and unifying
at our own

the change also modifies a logic of type_enumerator, so that now there
can be more identic values stored under different keys (key = sparse
type/symbol pointer) in the hash table, so this has to be taken into
consideration when freeing items