only assume ID if entire string is numeric

The Str2Uid/Str2Gid functions in libpromises/conversion.c check only the first character of the provided string to see if it is a digit - if so the whole string is treated as an ID. This breaks handling of access/ownership promises for user/group names that start with a digit. This commit checks to see if the entire string is digits before assuming an ID, using the StringIsNumeric function from the bundled libutils/string_lib.c.