Changing zfill(3) to zfill(4) so that we get '0700' instead of '700'

There is a possibility of this causing regressions, it will work correctly where both params are passed through it or where it's being compared with stat() output.  If there is code expecting a '700' style permission it will fail.  Realistically, '0700' is correct so the other code needs to be fixed.
Attempt to correct test failing due treating 0755 as octal but passing it as decimal.