Add the set! function to imperatively set values.
Turn set! into a macro.
Add the alter macro.
Replace backslashes in a file's name in addition to dashes when generating the pharen-ns-name.
Merge branch 'master' of https://github.com/Scriptor/pharen
Use triple equals in lang.
Allow hashmaps to be returned from macros.
Add the IPharenHashable interface.

This allows objects to provide custom hash methods for PharenHashmaps.
Process keys by hashifying them if they are objects.

This uses the IPharenHashable interface to check if an object has a compatible hash function first. Otherwise it defaults to spl_object_hash.
Implement IpharenComparable and IPharenHashable for the Token class.
Macros get the number itself, rather than NumberToken instances, as arguments.
Rewrite slashes and colons to underscores when creating namespace prefixes.
Change the var-in-macro test to reflect new macro semantics.

The type of an unquoted object in a macro now depends on how it's used (how it's lexed), not the type of the value passed in.

Even though var-in-macro is given foo, the foo will be converted to a variable.
Force conversion of NameToken args in multimethod macros to strings.
Remove precombiled lib files.
Lex splatted variables.
Show a basic traceback upon errors that happen while tests are run.