Adopt the character ':' to identify the goto labels

The character ':' is therefore used both for slicing and for goto
labels. There are no conflict at the level of the parser because goto
labels are statements while matrix slicing can occur only in
expressions' indexing.

The symbol for the objects' methods call remain '::'. To identify
this latter the token name 'TK_resolve' is introduced into the lexer.

For the sake of code clarity the symbols RANGE_TOKEN, LABEL_TOKEN,
RESOLVE_TOKEN are introduced in the parser to make clear what parsing
rule applies. Actually RANGE_TOKEN and LABEL_TOKEN correspond to the
same token ':'.
Implement matrix slicling with implicit start or ending indexes

This will allow to write m[:,:] or m[:n, a:]. The semantic if the same
of Python, if the initial index is not given it is implicitly taken
to 1. If the last index is got given the slicing is made up to the
matrix's size.

When the incomplete slicing is used the generated AST is always
completed and a literal one, m.size1 or m.size2 is placed in the AST
for the missing terms.
Move genid "close_lexical" call into the top-level "compile" function

It is more logical to place the close_lexical call into the "compile"
function because there it is clear that the parsing phase is actually
terminated.
Add comment to explain the entry point function of the parser module