Result filtering on search (also known as Partial Search)

First take at refactoring search to allow selective results, rather than returning the whole thing.
Chatting more about this, we've decided to go with the current level of support (specifying attributes as arrays in recipes and using the dot notation in knife) and add the missing pieces on an as needed basis.