Move waitUntils to the to ISearchContext

Moved all the waituntils to the ISearchcontextExtention, rewrote the
conditions to match and created a new SearchContextWait