Replace deprecated usage of \e in preg_replace

Replaces `preg_replace()` with the `\e` modifier with `preg_replace_callback()`, at least where deprecation warnings have been spotted during testing.

Also removes the suppression of PHP errors from causing hard test failures.

NB, build failures in PHP 5.6 are due to deprecation warnings for `crypt()` without an explicit salt parameter. Build failures in PHP 5.6 have been suppressed from causing Travis failures.