Fixed all the issues Metze raised. Removing Draft: status.
As discussed with Ralph, this is the entire patchset that removes unix_convert() and uses filename_convert_dirfsp() as our only parser, as he'd rather review the end goal. Once this goes in I'll back-port everything to 4.17 via a bug report, so 4.17 starts out life with non-racy pathname processing.
Passes ci.