Ensure is_data_track is never undef before passing to Algorithm::Merge

Otherwise the merge screws up all the column orders.

Also use hash_to_row in Data::Track's _create_row, for consistency with
elsewhere and less duplication.
More missing is_data_track => 0 in tests
Page listing collections has a type column now