Core infrastructure for Search

We're not actually displaying the Search Results yet, but we're getting
the messages there and back.