search: expand and/or query visitor
Created by: rvantonder
I might expand/refactor this more later. Right now it's a means to an end for and/or eval.
Tests: containsPattern
depends on this being correct, so I'm punting on additional tests for now.