This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]
The alias checker would only deref once for autoderef, and only deref boxes. It should now do the right thing. Closes #725.