Added parser for LABEL COLUMNS
Added engine function to label columns
Add column labels to persistence layer
Loop to insert or overwrite each label submitted by user
Only label columns if they actually exist in btable, otherwise raise error
Column labels now saved in persistence layer
Added parser for SHOW LABELS
Added engine function to return column labels
Pretty-print table for SHOW LABELS
Return data and columns for table instead of creating a new pretty-print style
Return column-label table for SHOW COLUMNS
Only print edited labels from LABEL COLUMNS
Added test for LABEL COLUMNS and SHOW LABELS
Add tablename to message after labeling columns
Added SET|FROM to parser for LABEL COLUMNS to determine whether labels are inline or in a file
Client can get column/label pairs from CSV before calling engine
Added test for reading column labels from CSV, along with test CSV file
Added parser for UPDATE METADATA
Adapt client to use the same CSV reading code for LABEL COLUMNS and UPDATE METADATA
Added engine function to update user metadata and persistence layers to add, write, and get user metadata