Refactor smali to use dexlib2

Array data instructions aren't working yet
Update to latest antlr3/string template
Split out the build rule for the parser and tree walker
Fix the line number on instruction errors
Change syntax of const/high16 and const-wide/16

The literal is now specified as the post-shifted literal value, rather
than the pre-shifted 16 bits
Add token+text for I_LINE imaginary token
Change totalmethodRegisters and methodParameterRegisters to scoped method attributes
Switch to new parameter syntax

The new syntax is:
.param p1, firstParamName

which is closer to the existing local syntax:
.local v0, someLocal:I
Fix IndentingWriter.printUnsignedLongAsHex and printSignedIntAsDec

A previous change had introduced a regression where they were printing
numbers backwards.