Reorganize code a bit.

Change the code so that checking whether a function parser object
has already been created now happens at the place where we use
the object, rather than as an early exit in the init_muparser()
function. I find that this makes the code easier to read.

This also allows us to remove the creation of a parser object on the
thread where the object is actually created. In many (most) cases,
we will simply create the parser later on anyway, but not necessarily.
Clean up documentation a bit.
Make an error message easier to read.

Enclose strings in <...> so that one can more easily see if there happen
to be spaces in untoward places.
Merge pull request #301 from bangerth/muparser-cleanups

Muparser cleanups