Specify default if parsing fails

By default "0.5".TryParse<int>() would return default(T) which is 0 for
those cases we can now specify a default in case parsing fails. For
example "0.5".TryParse<int>(10) would return 10 because that's the
default value you are providing to TryParse.
Updated readme