recursive structures were getting stuck when str'd
Fixed AST node types and implicit 'return-this' line number

-Some AST nodes where not ASTNode instances (like module accessors and
 pretty much all ASTs in the core module). This was breaking the
 debugger when trying to get the line number of the AST. To solve this,
 I moved the AST classes to their own file to allow i.py and gen_core.py
 to use them. I had also to make a __repr__ in ASTNode so the core
 generated module can generate the AST nodes with ASTNode instances.

-To fix the 'return-this' sintetic nodes created by the parser, I added
 a sint_ast() method to ASTNode and recorded the input's position on
 what should be the last statement of the block. Thus, in a
 well-indented program, stepping on the last statement will bring the
 debugger cursor to the next line, which will have a '{'. This fix is
 related to the issue #43.
Fixed line number information on ast of sends.

This fix is related to issue #43.