Various integer literal related fixes

This PR adds support for the following features:

 - Decimal integer literals, e.g. `1d`
 - Hex literals outside the range of `int`, e.g. `0x800000000000`
 - Numeric multipliers for decimal and double integer literals, e.g. `9999999999999999999999kb`

I also moved the integer literal related tests to the AST tests and added several new testcases.