clmake: more patterns and a regex fix

Handle the case where GNU coreutils are installed in some odd `bin`
directory, such as `gnubin`.

Also fix a bad regex pattern (`[^\w]` means match a single character
that is not `\` and is not `w`, rather than the opposite of `\w`, which
is `\W`) by using the `\b` "boundary" atom.

No reviewer.
fix Fortran MPI_WEIGHTS_EMPTY initialization

We were not communicating the MPI_WEIGHTS_EMPTY common block value to C
via the `mpirinitc_` routine.  Also fix a minor warning about the C struct
static initializer when `HAVE_C_MULTI_ATTR_ALIAS` is defined, as it
usually is on Linux.

The existing `dgraph_unwgtf` test does not catch this case.  AFAICS,
there is no black-box way to test this behavior using only the MPI
interface provided that the MPI library correctly implements
`MPI_UNWEIGHTED` handling, since the MPI implementation is forbidden to
inspect the pointer value other than to check whether it is
`MPI_UNWEIGHTED`.  The best idea I've come up with so far is to create a
sanity check routine that we can call from Fortran that ensures all
Fortran-C interoperability constants are correctly recognized, but even
that's a pretty weak test, since it must also be updated whenever a new
Fortran common block is added.  This will have to do for now...

Follow-up to [d6ceef9].

Reviewed-by: dinan
hydra: squash loop warning from modern clang

`-Wempty-body` will cause this, and is enabled by default in modern
clang when configuring MPICH with `--enable-strict`.

No reviewer.
ROMIO: fix buffer/datatype mismatch in Isend/Irecv

Caught by the cool new type checking annotations in our `mpi.h` header
that work with modern clang versions.

No reviewer.