Add support for BinaryIntegerLiteral and OctalIntegerLiteral.

This fixes #1531.
It shares HexIntegerLiteral code for lexing BinaryIntegerLiteral and OctalIntegerLiteral.
Also, adds "isLegacy" property to ES5 OctalIntegerLiteral, to avoid triggering W115 warning for ES6 OctalIntegerLiteral.

I left one comment on it, but other than the comment it looks like a good way to go