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.

Thank you for quick response.

Correct me if I misunderstood your comment.
It's because BinaryIntegerLiteral and OctalIntegerLiteral should trigger W119 for non-esnext,
and I thought it's better to share the code for calling ```this.trigger```.

Shoud it be ```else if (char === "o" || char === "O" ||  char === "b" || char === "B")```?
or should I separate ```this.trigger``` for each case?