Fix `search text`

MSP-8986

`search text` would throw an exception and cause msfconsole to print a
stack trace because `Metasploit::Model::Search::Operation.parse` was
parsing the formatted_value as nil instead of ''.  Once that was fixed,
the problem was union operations weren't validating their children
recursively.  Once that was fixed, the problem was validation errors
weren't being indented for the depth, so it was hard to read.