Result filtering on search (also known as Partial Search)

First take at refactoring search to allow selective results, rather than returning the whole thing.
The thing that -a doesn't allow you to do is name the variable you're returning. I don't know if this is important but it was part of the spec as I saw it...
Example:
```
$ knife search "*:*" -a "roles" -a "name"
my-server-rocks:
  name:  my-server-rocks
  roles:
    awesome_role
    better_role
```
vs
```
$ knife search "*:*" --filter-result "serverName=name, TheRoles=roles"
  TheRoles:
    awesome_role
    better_role
  serverName: my-server-rocks
```
So in answer, yes, but that would change the behavior, which may or may not be what we want.