publicErrorHandler() checks the $errno.

publicErrorHandler() doesn't invoke notices when running
into a unsupported error number. Previously for instance,
any captured E_STRICT would have generated E_NOTICE
in the error hander function.

This also changes the function work entirely based on the
site's production_status. This normalizes differences
between PHP versions, and makes sure each status
only displays errors it was supposed to.

See issue #373

git-svn-id: http://textpattern.googlecode.com/svn/development/4.x@5433 2fea6a4d-a838-0410-917b-93a53c48e9d2