newMatchTree: bail with error for nil argument

This is an extra safety precaution to avoid runtime crashes

Change-Id: I684976f769a9d80e462fe01510c45b34e737e219
diff --git a/matchtree.go b/matchtree.go
index 4e86549..5b90be5 100644
--- a/matchtree.go
+++ b/matchtree.go
@@ -491,6 +491,9 @@
 }
 
 func (d *indexData) newMatchTree(q query.Q) (matchTree, error) {
+	if q == nil {
+		return nil, fmt.Errorf("got nil (sub)query")
+	}
 	switch s := q.(type) {
 	case *query.Regexp:
 		subQ := query.RegexpToQuery(s.Regexp, ngramSize)