Added some const around for-range loops.
lib: polishing a couple of thing around nodes.
More on the layout.

1. The backend directory is now called `codegen`.
2. A new directory `ast` has been created.
3. The Node classes and the Type class are now in `ast`.