Multicharacter ops have separate tokens: I lexer

Now lexer does the heavy lifting when it comes to the operators.
It basically means that `i +   +` is (well, will be, when the parser bit is
done) gramatically incorrect. Before (well, it still is that way, until the
parser bit is done) the parser would've figured out that it's a postfix
incrementation, but now it sees it as a name and two single plus signs.
Multicharacter ops have separate tokens: II parser
Write the missing grammar for `&&` and `||`
Small fix (around `<<=` and `>>=`)