Update GTF serializer to write all attribute key-value pairs
Pass 'order' argument value properly when doing read() with selections

Previously, order was not passed, resulting in inconsistent ordering
if read() is called with multiple selections (e.g. selection='chr1'
and selection=['chr1'] will produce different orderings).
Update default order in read() to be '' (empty string)

read() should not impose a defined ordering to the user. There are places
where read() is called without allowing the user to change the default ordering
(e.g. in the SQL parser). By using '' as the default ordering, we preserve
whatever ordering the user has, rather than forcing it to 'start,end' (which
are not always desirable).
Keep 'score' column value as strings in GTF files

According to the spec[1] and UCSC[2], a dot ('.') is a valid column score
value. Rather than changing '.' to 0.0 (which may mean different things),
preserving the original value as string seems preferable (less surprise
when parsing).

[1] http://mblab.wustl.edu/GTF22.html
[2] https://genome.ucsc.edu/FAQ/FAQformat.html#format4
Remove 'assembly' argument in GTF test and update comment

Tested GTF files do not seem to be of the 'sacCer2' assembly.
Add round trip test for GTF files
Update gtf_test1.sql to reflect changes to GTF parser and writer
Add new GTF test case

The test case contains optional attribute key-value pairs and
both '0.0' and '.' as the 'score' column values. This is mainly
for testing round-trip conversion of the GTF format.