Change Table to CSVTable

The table now stores the column order so in case the table needs to be
printed with columns in the order of the original csv or saved to
another csv file, that information is now retained.

The new interface decreases the expectations of the class by the user
as to decrease unexpected behavior. He might e.g. be tempted to
first instanciate like `table = Table([])` and then perform
`table.append(('foo'))` and expect it to raise an error if it isn't formatted
 like the format a .csv file would have it would have been loaded
properly.

At least like it is now, he will always need to load a csv file, and if
it is loaded, he can deduce from the loaded structure how the data
structure should look like and be manipulated. So misuse is less likely to occur.
Handle getting passwords and times via multiprocessing
Get rid of commented code