Cleaning up warnings, extending test cases.

The test cases don't yet compile, have to rework type checking for
literals (300 can be both an Integer_8 and an Integer_64 for example,
how to deal with this).
Adding .gitignore for compiler and tests.
New number treatment to deal with constants.

Constants like 1 or 0 can be either Integer_8, or Integer_64, etc.
To deal with this, we have a new type that represents any Integer,
which can then be casted to Integer_8 or Integer_64. Internally
the "any integer" is represented by int64, then casted appropriately.