(PUP-2350) Disallow non-string file modes

In Puppet 4.0 integers will be parsed more strictly, which means that
file modes like `644` will be octal 1204. The alternative to this is to
force file modes to be strings where they cannot be interpreted
incorrectly. PUP-2349 deprecated non-string modes; this commit removes
support for them entirely.
Merge pull request #3148 from adrienthebo/removal/master/pup-2350-remove-non-string-file-modes

(PUP-2350) Disallow non-string file modes