Added and updated the uthash library to aid in variable binding.

	modified:   .gitmodules
	new file:   src/extern/uthash
Added evaluation environment infrastructure, using BSD-licensed header
file uthash.

Wrote tests; added new `test' target to Makefile.  Rewrote Makefile to
allow more reuse, breaking .c files containing a `main()' into
separate variable lists.

Next is to actually implement lexical scoping with `let' using the
infrastructure.

Compiles, and passes tests.

	new file:   ../EDEConfig.el
	modified:   .deps/read.P
	new file:   .deps/symbol.P
	new file:   .deps/test.P
	modified:   .deps/val.P
	new file:   .deps/variable.P
	modified:   Makefile
	modified:   Makefile.cincludes
	deleted:    Project.ede
	modified:   error.c
	modified:   eval.c
	modified:   include/debug.h
	modified:   include/error.h
	modified:   include/list.h
	new file:   include/symbol.h
	modified:   include/types.h
	new file:   include/utarray.h
	new file:   include/uthash.h
	new file:   include/utlist.h
	new file:   include/utstring.h
	modified:   include/val.h
	new file:   include/variable.h
	modified:   list.c
	new file:   project-info.org
	modified:   read.c
	modified:   silveretta.c
	new file:   symbol.c
	new file:   test
	new file:   test.c
	modified:   val.c
	new file:   variable.c
Initial integration of `let' form.  Currently only allows singular
bindings per form, but can be nested and obeys lexical binding.

Had to fix some things in variable.c, because it turned out I was
using the wrong macros (STR instead of KEYPTR).  While fixing it, I
had trouble using some of the other macros, so I just reimplemented
HASH_REPLACE using macros that actually worked.  This should have
showed up in testing, but didn't because I'm lazy and haven't written
many tests yet.

Compiles and passes tests. (yay!)

	modified:   .deps/eval.P
	modified:   .deps/silveretta.P
	modified:   eval.c
	modified:   include/eval.h
	modified:   include/print.h
	modified:   include/variable.h
	modified:   print.c
	modified:   silveretta.c
	modified:   test
	modified:   variable.c
Removed binary file test, and added .gitignore to ensure it isn't
added again.

	modified:   ../.gitignore
	deleted:    test