api: implement succinct output for SearchOptions.String (#719)
I am often reading the output of String in traces and logs, and it is
really hard to parse since there are many fields and most are unset.
This is a quality of life improvement so it is much easier to scan the
output.
For example the default zoekt-webserver struct's string output goes from
a 456 byte string to
zoekt.SearchOptions{ ShardMaxMatchCount=100000 TotalMaxMatchCount=1000000 MaxWallTime=10s }
Test Plan: go test. The unit tests ensure I cover every field now and in
the future when fields are added.