Reworked arithmetic operations

Arithmetic operations are now done in their native datatype and only
casted if an overflow happens. This leads to better precision in results.
Also, hex strings are now allowed to have a sign (+ or -) if (and only if) they are
used in arithmetic opertations.
Made tests explicit where PS breaks its own specification
REFACTOR: code for division is easier to understand
Try more datatypes for numeric conversion
Merge pull request #256 from sburnicki/print_empty_psobj

BUGFIX: Print table without columns
Merge pull request #257 from sburnicki/arithmetic_fix

FIX: Correct arithmetic operations
[BUGFIX] Fixed an assertion that was deprecated in NUnit.
[BUGFIX] Fixed one of the new integration tests.

Write-Host is completely unavailable here.
Merge pull request #259 from ygra/integration-test-fix

Fixed an error in one of the new integration tests.
Merge pull request #258 from ygra/ast-test-fix

Fixed an assertion that was deprecated in NUnit.
Rearrange integer literal tests and add some new testcases.

This moves the integer literal tests to the AST tests. This has the
advantage of not requiring a TestHost just to parse a constant
expression.
Correctly implement long hex literals.

Previously, hex literals that were outside the range of an integer
were always parsed as 0 due to overflow.
Implement numeric multiplier for all integer literal types.

The numeric multiplier now works for decimal/double integer literals
and correctly handles type conversions due to overflow for all literal
types.
Implement decimal integer literals.