Fix bad escaping of directory names

Summary: Hack and Flow were passing directory names unadulterated to the shell -
so directories with spaces would fail, but you could have a lot of fun
with special characters too.

This escapes directory names by putting them in single quotes, and
replacing single quotes by the literal sequence ##'"\"'##.

// cmake verification, hack and flow all pass. The rest is gravy for this diff

Reviewed By: @jwatzman

Differential Revision: D1684618

Signature: t1:1684618:1416261690:6750f755d469864184f50dadc06f47d67a3364bd