[tmp] Restriction changes, and TestAutoDictionary

* NumberRestriction now handles decimals.

* Some of StringRestriction's fluent methods were generalized, and
  some standard character sets were added as static convenience
  properties for use with WithAllow et al.

* TestAutoDictionary was added (marked internal for now). It's a normal
  dictionary that, when queried for a key and that key does not exist,
  creates a value automatically and returns that (and setting the
  key/value pair.)

* Added Common.Functions.Power, an exponentiation function for decimal
  values and integer exponents. Does not cast intermediate forms to
  double, thereby preserving the increased precision of Decimal values.