Avoid setting dummy values inappropriately for original files.

The previous code had dummy required values being set for hashes and lengths of `OriginalFile` instances for things like files that hadn't yet been uploaded, and for directories. Discussion in http://trac.openmicroscopy.org.uk/ome/ticket/2581 considers the idea of simply allowing such properties to be set to `null` unless there is actually an applicable value for them, so as to declutter the code and the database.

For `OriginalFile` instances, this PR makes the size and checksum optional, to tidy things slightly in anticipation of further changes once the checksum algorithm is made selectable. The model and dummy values around `Pixels` instances remain unchanged.

In testing, one might want to check the `originalfile` table in the DB to make sure that some `size` or `sha1` that was previously being correctly set still is set, i.e. that this PR causes no regressions. Obviously, also test things like importing and annotating images with files to make sure that there are no regressions there either.

In the longer term one may want to consider designing a richer type hierarchy around `OriginalFile`.