Fix test-conf string to integer conversion.
The test-conf build_pattern attempted to convert known constant strings into integer values. However, it did so by always converting the string value to an integer if possible and then complaining if the key wasn't of the expected type. This lead to error messages on "style": "Regular" since "Regular" was recognized as "weight".
Instead, only attempt conversion from string to integer if the key is the name of an object which can take an integer type. This eliminates the spurious non-fatal errors reported when parsing test-90-synthetic.json.
This also fixes an issue where the created value was given the type of the object found, but the integer field was assigned. Instead, check that the object type can take an integer and always set the value type to integer.