Add mkdir to Chapel

Add the function mkdir to Chapel.  Mkdir takes in a directory name to create, the permissions to create it
with, and a boolean indicating if any missing parent directories should be created first.  There are two
versions: one which halts with an error message if one occurred, and one which merely returns the error
code via an out parameter.

Implementation details: the Chapel code calls out to a qio.c implementation.  If the caller has indicated it
wishes to create missing parent directories, then the function will attempt to do so by traversing the
provided path and attempting to create each parent directory as it goes, ignoring errors it may encounter
(as some of them will be "this directory already exists" errors, which we do not care about).  Then the
function will attempt to create the indicated directory, returning any errors it encounters in this last step.

8 tests accompany this feature, residing in test/io/lydia/mkdir/

My umask is 027. But the digit I'm talking about is the leading 2, i.e., the 2000 part. That's the setgid (S_ISGID) bit on the dir you mkdir'd, and it's not controlled by your umask. It's controlled by whether or not the parent dir's S_ISGID bit is set, I believe. I.e., when your .preexec creates useAmode, whether that has the 2000 bit set depends on whether the test's cwd has it set.