Fix inability to set negative defaults for integer fields

Essentially just add an optional leading "-" sign to the regular expressions used in the PackratParsers to allow negative numbers in integer defaults. (We need this, since we have a message defining a TTL for Redis, and "-1" means "do not expire").

Add tests to check this.

Additionally, a "positive integer" matcher (fieldId) had to be created to ensure the field number cannot now be negative!