text: Title: CSV adapter fails when there's only 1 row of data
  Body: Given a CSV file with a single row of data:
  
  ```bash
  % cat test.csv
  "a","b"
  1,2
  ```
  
  Shillelagh will fail:
  
  ```bash
  % shillelagh
  sql> SELECT * FROM "csv://test.csv";
  Traceback (most recent call last):
    File "/Users/beto/Projects/shillelagh/src/shillelagh/backends/apsw/db.py", line 191, in execute
      self._cursor.execute(operation, parameters)
  apsw.SQLError: SQLError: no such table: csv://test.csv
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/Users/beto/Projects/shillelagh/venv/bin/shillelagh", line 33, in <module>
      sys.exit(load_entry_point('shillelagh', 'console_scripts', 'shillelagh')())
    File "/Users/beto/Projects/shillelagh/src/shillelagh/console.py", line 210, in main
      cursor.execute(sql)
    File "/Users/beto/Projects/shillelagh/src/shillelagh/backends/apsw/db.py", line 66, in wrapper
      return method(self, *args, **kwargs)
    File "/Users/beto/Projects/shillelagh/src/shillelagh/backends/apsw/db.py", line 202, in execute
      self._create_table(uri)
    File "/Users/beto/Projects/shillelagh/src/shillelagh/backends/apsw/db.py", line 251, in _create_table
      self._cursor.execute(
    File "/Users/beto/Projects/shillelagh/src/shillelagh/backends/apsw/vt.py", line 205, in Create
      adapter = self.adapter(*deserialized_args)
    File "/Users/beto/Projects/shillelagh/src/shillelagh/adapters/file/csvfile.py", line 124, in __init__
      self.columns = {
    File "/Users/beto/Projects/shillelagh/src/shillelagh/adapters/file/csvfile.py", line 127, in <dictcomp>
      order=order[column_name],
  KeyError: 'a'
  ```