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.

@caitp @jugglinmike @mikesherov can you look at this and the two linked above? Right now I think (A) https://github.com/arai-a/jshint/commit/617c6239a199601caebe201bcefcbc475eda4808 is the preferrable patch, but I need more eyes.