Update grammar for real literals.

Allow capital E for the exponent:
    1.2E4

Allow multiple digits for the exponent:
    1.2e45
Implement simple real literals.

The following simple real literals are supported:

    1.2
    .4
    123.456e-2
    123.456e-231
    123.456E-231
    3.45e3
    32.2e+36

The following do not work in Pash, but do work with Microsoft's
PowerShell:

    3.e3
    32.e+12
    1.

It looks like these are missing from the official PowerShell grammar
although there is an example of one of them in the PowerShell spec.
Support numeric multipliers (mb, kb, gb, tb, pb) for real literals.

The following real literals now work:

1.5mb
1.5MB
1.5kb
1.5gb
0.5tb
0.5pb
Support numeric multipliers (mb, kb, gb, tb, pb) for integer literals.

1mb
1kb
1gb
1tb
1pb
Support numeric multiplier with long type suffix for integer literals.

Expression: 20Lkb
Output: 20480
Support hex literals with numeric multipliers.

0x12kb
Handle numeric multiplier causing Int32 value to overflow.
Implement addition for real literals.
Implement simple decimal real literals.

The following decimal real literals are supported:

    1.2d
    .4d
    123.456e-2d
    123.456E-231d
    3.45e3d
    32.2e+3d
    1.5Dmb
REFACTOR: Real literal Ast building.

Remove duplicated code.
Extract method for building double real literals.
Implement addition for real decimal literals.
Support adding a hex number in double quotes to an integer.

Fixes tests based on addition examples from the PowerShell spec:

    12 + "0xabc"
Merge branch 'master' into real-literal

Conflicts:
	Source/TestHost/2.3.5.1.1 Integer literals.cs
Merge pull request #206 from mrward/real-literal

Real literals