Seperated globals from the rest of the files.

This makes it easier to isolate dependencies.
Refactored file structure.

Moved form->env & forms->env to src/env; move all shared context logic
into a seperate file.
Removed env->cl; added a global *contexts* list.

This way it will be easier to run all of the specs from a (not built
yet) runner.
changed all macro/function comments to docstrings
Started using `string=` to compare symbols from different packages. Added `string-case` to mimic case but using `string=` as a comparator.
seperated all of the packages

Now that we can compare symbols from different packages, it makes sense
to throw each file into a different package for the purpose of
dependecy management.
added behaviors

Added the final `context`-like macro, `behavior`. These are useful for
testing behaviors that are common across multiple datatypes.
Condensed the code for validating context-like macros.

Since there were three almost identical versions of
`validate-*-syntax`, it makes made more sense to condense them all into
one method. After making this change, it seemed logical to put all of
the context-like macros into one file.
Added a function that resets each global to their default values.
Merge pull request #7 from nahiluhmot/add-behaviors

Add behaviors