[csharp] build AST from data tables
[csharp] remove location from DataTable - the rows inside have location, but not the table itself
[csharp] small AST refactoring
[csharp] make AST collections immutable with IEnumerable<T>