config: fix parsing of file permissions

The file permissions can be specified (unfortunately) as a string or an
octal integer. During the normalization step, every field is
unmarshalled into an interface{}. String types are kept in tact but
integers are converted to decimal integers. If the raw config
represented the permissions as an octal, it would be converted to
decimal _before_ it was saved to RawFilePermissions. Permissions() would
then try to convert it again, assuming it was an octal. The new behavior
doesn't assume the radix of the number, allowing decimal and octal
input.
It can't hurt to have a test case that reproduces the bug as-filed. It is not clear what is going on here when the starting state is RawFilePermissions "493". A test case with a snippet of a cloud-config that people are *actually* trying to use `permissions: 0755