Add data_type_id column to preprocessed and processed data tables

Needed because we want finer grain control over what datatype we are working with. Before this, we got it from raw data, which could potentially have multiple types (e.g. 16S and 18S in same run). Now we keep track of the datatype through the entire process.

This also has the required edits to the data objects to allow for addition of data_type upon creation and for getting both the text data_type and the data_type_id using, for example, `RawData.data_type(ret_id=True)`
Ok, that's weird. It's changed if you look at the file diff but this comment is still here.