Add the 'enum' validator.

Also set the decoder of schema values to use json.Number instead of
float64. This wasn't necessary before because most validators
specifically specified json.Number, e.g.

    type maximum struct {
        json.Number
        exclusive bool
    }

but enum is simply

    type enum []interface{}

so we need to tell the decoder to use json.Number for interface{}'s
dynamic type instead of float64.