Make tests run with process isolation work

When running phpunit tests with process isolation, the DEFINES executed
by the parent process are passed along to the child proc that actually
runs the test. Disabling "preserveGlobalState" does not affect these
DEFINES, they still are defined for the child. Read more at

https://github.com/sebastianbergmann/phpunit/issues/314

Making the definition of the "password_*" commands conditional on
whether the PASSWORD_DEFAULT define has been set means that child
test procs don't ever get those functions defined. Only the master proc
which doesn't run any tests has them.