Post-upload import step notifications added.

Temporary PROGRESS_EVENTs added to mark the ends of the current 5 import steps
following file upload.
Switch order of import step notifications to reflect steps in ManagedImportRequestI.
Re-organise file upload events.
Fix second conflict
Adding back deleted subclass to fix build.
Improved listdir to handle unreadable directories. Fixes #9156.
Update logging
Added DoubleArrayColumn and LongArrayColumn to OMERO.Tables (#5632)

This needs reviewing by someone who knows about NumPy-Ice array conversions
Added unit tests for array-column types (#5632)
This effectively replaces the call to numpy.rec.fromarrays by creating a single recarray from the values and dtypes of each column in one go, instead of each co
lumn creating its own numpy.array
Remove initialisation dependency on variables which might not be set.

AbstractColumn.__init__ uses properties such as self.name which aren't always set at initialisation, especially when Ice is involved. This commit removes self.recarrtype and replaces it with just the properties that should exist (based on testing since its unclear under what circumstances Ice will set a property or not).
Mask unit tests now enter unique values for each field

Mask creation and test functions also put into separate functions for reuse within test.
Added more unit-tests for array columns

Test for a array column of size 1.
Test all possible column types in the same table.
Arrays of size 1 require special handling in the column-row conversion
AbstractArrayColumn holds common methods for array columns.

Now that array columns seem to be working I can start to clean things up.
Removed old commented code
Use pos=None to indicate an uninitialised column

This replaces the need for a separate variable to indicate initialisation
Validate the lengths of incoming arrays
Check for duplicate column names when initialising tables #9973
Added the start of a test for Tables backwards compatibilty