Add number type to check for float or integer

I think people are often interested in receiving a float but would gladly accept an integer in their place.  Right now, if I expect a float and get 100, the input would not validate.  This pull requests adds a more generic "number" type that accepts either an integer or a float.