Add flushing every Mrows

Additional flushing might prevent memory issues, though I believe
PyTables automatically flushes after many rows.
Remove an 'unused' flush.
Slightly more efficient if statement for progressbar updating.