Rename the test scripts
Major API/syntax changes and fancy folder structure

Trying to get it fairly close to 'normal' expression syntax. Kind of tricky,
because 'a != b' is not the same thing as 'not a == b'. That means that I've
probably messed up somewhere. The next commit should be unit tests... :P

Constraints now allocate their own result variable. They can almost be thought
of as expressions -- which is good for operator overloading.

Moved lots of stuff. Got a proper folder structure.