Major refactoring in preparation for the DLR backend.

For the DLR backend, a few major refactorings were applied. The "Expression" name has been replaces with "Syntax" (like Roslyn does) to limit the number of conflicts with the Expression tree the DLR uses. The visitor methods have been renamed to include the node type to make it easier to identify visit methods. A ISyntaxVisitor<T> has been introduced to make it easier to build a new tree from the existing syntax tree. A SyntaxVisitor class has been introduced which by default just iterates through the tree. Some properties of the Syntax nodes have been renamed to make them more similar to the Expression tree (e.g. Statement has been renamed to Body and Condition has been renamed to Test).
Initial work for DLR backend.
Implemented support for access-fannkuch.js (again).