Fix license lines length to make PyDev happy
Refactor the nodes structure for more explicit types

Squash Variable and Slot into single Identifier as
per Lua 5.1 reference

Replace List with numerous specific Lists to mark
a type of their contents.
Rename CodeBlock into StatementsList

And a few attribute renames for the clarity sake.
Add the AST traverse framework
Add an AST validator

To check an AST before doing anything else,
so we can always assume that the AST is valid
Call the validator from the main
Rewrite the lua writer using the new AST traverse functionality

Remove all the checks - it's now handled by the validator
Implement a deffered printing, so we can process the queue
more freely later (break lines only when we need it or
emit new empty lines as per lineinfo).
Merge branch 'master' of https://github.com/NightNord/ljd