12258 script hashers (rebased onto develop)



This is the same as gh-2466 but rebased onto develop.

----

See: https://trac.openmicroscopy.org.uk/ome/ticket/12258

`ScriptI` was failing to set the `hasher` field on non-official uploaded scripts. This meant that on `RawFileBean.save()` (i.e. close() as well) the sha1 was not being updated, essentially leaving a corrupt file.

Things we may want to also take care of here:
 * Add a command to fs.py to list files with hashes but hashers
 * Add a warning if the same situation occurs again

Things for 5.0.3:
 * Add a constraint to prevent the situation
 * Have `RawFileBean` fail under the situation

Could there be any other (critical) locations where this is happening?

/cc @manics @mtbc