Cleaned up some code
Working dynamic inheritance
Removed unnecessary complexity from parser
More code cleanup of the main parser
Removed unused token parser
The set and import tags can now be used in child
templates outside of regular blocks.

Closes #19
The extends tag can now safely evaluate to null without issue.
Bugfix to both the NodeImport and NodeInclude types, where reference to this.engine was not reachable. Fixes #23
Added test cases for issue #23
Macros can have default argument values.

Closes #20
Node interface now has a getChildren method to enable AST traversal
Removed java compilation method from main compiler into a seperate type of compiler
Taking a more classical approach to the visitor design pattern
Got a working node visitor in place; the pretty printer visitor
Extensions now provide the node visitors
Working autoescaping
Provided ability to disable auto escaping
Added an escaping library. Adds more strategies and is probably
much more secure than anything I can come up with.

Closes #4
Added the autoescape tag.
Users can now provide a null cache which prevents any caching from
happening. Also changed the name of the "compile" method in the
PebbleEngine to "getTemplate".

Closes #22