Files in the download dir can have accompanying ".md5" files
containing their MD5 and size.
This eliminates the need to calculate these when creating a job using the file.
The .md5 files were being created by stage_file (local staging)
but not by remote file management.
In fact, the latter wasn't checking for file immutability violations.
I changed remote file management to add this check,
and to create the .md5 file.
The latter is done in a new function shared with stage_file.
- If handling an XML RPC, use set_error_handler() to output PHP warnings as XML.
Otherwise they appear as strings in the XML reply, making them not parse.
- suppress warnings from PHP function calls where we're already checking errors