Implemented ast.IndexExpr a[0]; maps unimplemented

http://golang.org/ref/spec#Index_expressions

known issues.

Constant indicies should fail if expression does not eval to int.
e.g. a[2*0.5] is valid according to spec, whilst a[2*0.4] is not.
Current implementation simply casts untyped floats to an int.

No bounds checks on constant strings.
e.g. "abc"[4] should produce an error (not panic)
Merge branch 'carl_index'