query: require argument for negation

Otherwise, a query like "-" causes shard crash.

Fixes #108

Change-Id: I7769006ed6ea84be6ea950abfc65123438ff7455
diff --git a/query/parse.go b/query/parse.go
index 029737d..ecbebf7 100644
--- a/query/parse.go
+++ b/query/parse.go
@@ -184,6 +184,9 @@
 		if err != nil {
 			return nil, 0, err
 		}
+		if subQ == nil {
+			return nil, 0, fmt.Errorf("query: '-' operator needs an argument")
+		}
 		b = b[n:]
 		expr = &Not{subQ}
 
diff --git a/query/parse_test.go b/query/parse_test.go
index 81aaa11..8acd719 100644
--- a/query/parse_test.go
+++ b/query/parse_test.go
@@ -98,6 +98,7 @@
 		)},
 
 		// errors.
+		{"--", nil},
 		{"\"abc", nil},
 		{"\"a\\", nil},
 		{"case:foo", nil},