Fix all remaining flake8 errors, module wide
Fix error from review of test_parse_validate.py

Remove an import I shouldn't have in another file
Add local test data dir to git ignore
Add requirements.txt
Reorder requirements.txt
remove dependency on Wand
Generate Null pixmap when removing last list elem

* util/derandui.py (onClickTimeStreamList, showImage): We remove image from
scene by creating a pixmap of size 0,0.
Add the combobox in the second column.

* util/derandui.py (DerandomizeGUI.__init__): Initialize QComboBox_CSV and place
it in (0,1)
(DerandomizeGUI.selectCsv): Call fill method so first column gets filled.
(QComboBox_CSV): New class that will hold item(0,1).
(QComboBox_CSV.fill): Read a specified column and put it in column 1
Remove Combo Box specific classes.

The two first columns are interelated to the point where it makes sense to have
them together under the same class.
* util/derandui.py (Firsttwocolumns): New class holding logic to manage the
relation between the first two columns.
Improve internal consistency in FirstTwoColumns

* util/derandui.py (refreshCol{0,1}): New names for onChange methods. They
reflect the fact that the column is actually being changed. Also, we make sure
that we catch ignore index=-1.
(__init__): Add some class documentation.
Add swapRow method.

* util/derandui.py (swapRow): New method that will swap two row numbers. It will
swap all the columns except 0
Reorder Col1 based on Col0

* util/derandui.py (FirstTwoColums.E): String "--empty--" to put in empty rows
to identify them
(FirstTwoColums._num0Rows): Number of rows for column 0. This is different from
the number of rows in the table.
(refreshCol{0,1}Header): Use method setCurrentIndex to initiate refreshCol{0,1}
calls.
(refreshCol1): Skip the empty rows when copying to column 1
(colsRebind): This will refresh the relation between col0 and col1. Col0 will
not be reorder, but col1 will be reordered (together with the rest of the
columns 2...end) to have a 1-to-1 relation with col0. If we find no relation we
insert an empty row.
(swapRow): By default we fill the cell with (" ")
Stop ignoring the first 2 columns of csv file

* util/derandui.py (selectCsv): Adjust the csv index by 2
Check combo box size before continuing

* util/derandui.py (colsRebind): We don't continue if there are no actions in
any of the comboboxes.
Define the colsRebind range with self._num0Rows

* util/derandui.py (colsRebind): We traverse all the elements in col0
Explicitly call refreshCol0 when removing col0

* util/derandui.py (refreshCol0Header): Subject
Change csv class name to BindingTable

* util/derandui.py (BindingTable): New name for the FirstTowColumns class.
Expresses better what the class does.
Handle when the user hits cancel on csv file.

* util/derandui.py (selectCsv): Subject
Remove self._csvfilename

* util/derandui.py (selectCsv): Its a temporary variable. No need to make a
instance var.
Rebind the csv table after we remove TS.

* util/derandui.py (removeEmpties): New method that removes empty rows created
by the script.
(colsRebind): Activate rebind when col0 is empty but co1 still contains the csv
information.