Fix binary and hexadecimal uppercase literals

Brad pointed out that binary and hexadecimal literals which used the uppercase
form (i.e. 0X instead of 0x) were probably not being handled correctly.  I
verified that this was happening and fixed it.  Additionally, added two tests
which lock in this behavior.
Merge pull request #319 from lydia-duncan/fixHexAndBinaryLiterals

Fix binary and hexadecimal uppercase literals [reviewed by Brad]

Brad pointed out that binary and hexadecimal literals which used the uppercase
form (i.e. 0X instead of 0x) were probably not being handled correctly. I
verified that this was happening and fixed it. Additionally, added two tests
which lock in this behavior.