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
Use client.upload to upload the test file.
Check updates of old tables are possible
Moved new array column types to the end of testAllColumnsSameTable

This makes things logically nicer (new stuff goes at the end of the table)
createAllColumns_4_4_5 creates the referenced HDF5 file.

Also moved HDF5 upload from class initialiser to the actual test method. This should make things easier if addition test files for future versions are needed.
Added a reference HDF5 file (from OMERO.server 4.4.5)
Add an update test to testAllColumnsSameTable
Remove testMultipleArrayColumns, output file ID in testAllColumnsSameTable

The OriginalFile ID is useful for compatibility tests, as it allows the underlying file to be manually retrieved