Return empty response for queries with no features

If query_columns() finds no features, the columns can't be determined causing
a crash.  Explicitly return None for the columns and generate an
EmptyResponse.

I found this bug when I had a typo in a query causing no features to be found in query_columns as it zooms out looking for them.  I figured returning an EmptyResponse rather than raising an exception is the right thing here.