Added support for hex and binary literals

This was done by making a reflective generic parseTo() function in Util.
Since there don't seem to be any native C# functions that can determine
base on their own in string->number conversions(Conver.ToXXX need to be
told what base to use), I did my own base determination and then used
reflection to look up the correct Convert.ToXXX method and call it with
the right info. I went through the rest of the project and replaced all
the calls to Convert.ToXXX and XXX.TryParse with calls to these smarter
methods, so people should be able to use hex and binary literals
wherever they were using decimal before.