smurf: Annotate tau options a bit better
smurf: Initialise "dat" even when status good

With commit dbd9e70bae48b9327106687bf7872ba429689ffe we started freeing
resources inside the "dat" structure. This caused problems if status
was set to bad early on because the "dat" struct itself was only being
initialised if status was good. This patch moves the memset outside
the status check.
smurf: Slight improvement to error message

If the tau source was not recognised the previous error was a bit
opaque.
one: Add noglob wordexp C interface

one_wordexp_noglob was a fortran interface around psx_wordexp but written
in C (as is psx_wordexp). This patch retains that code and adds a new
"pure" C wrapper around wordexp that does shell expansion without glob
expansion.

We could consider changing the Fortran interface to be a wrapper around
this new C version (and that might be the best thing to do) but for now
I have retained both. It seemed wrong for the C version to be layered
on top of the Fortran version since even the Fortran interface is C
all the way down to wordexp().