Improve Preconditions efficiency
Improve Preconditions efficiency

This significantly improves the Duration.From* performance, but
isn't quite good enough to let us remove the manual optimizations in
the LocalTime constructor and
GregorianYearMonthDayCalculator.ValidateGregorianYearMonthDay.

If we could hook into the build process and rewrite the Roslyn tree,
we could perform those optimizations automatically, and even remove
the explicit Preconditions calls entirely, putting everything in
attributes. We're not there yet though :(

malcolmr/nodatime,jskeet/nodatime,nodatime/nodatime,malcolmr/nodatime,BenJenkinson/nodatime,nodatime/nodatime,malcolmr/nodatime,BenJenkinson/nodatime,malcolmr/nodatime,jskeet/nodatime