ignore Cabal sandbox directories by default

Cabal sandboxes are sandbox environments for Haskell packages,
containing compiled packages and a bunch of metadata that users of
ack are unlikely to want to search.  Therefore ignore .cabal-sandbox
directories by default.
Releasing 2.12
Use is_empty_array
Change the error message for forbidden switches
Add a period to the warning
Getting ready for dev towards 2.14
The failure if $TMP is under $HOME should be a skip_all, not a fail
remove useless interpolation
Why is this localized?
no need for L<>
Fixed quotes
Quiet some policies
Simplify to_string() and make it deterministic
Add explicit returns
Quiet more warnings
removed unnecessary block
Add explicit return
rename some vars
Remove unnecessary diag
fixed indents