refactor: SearchCommand in its own file.
refactor: concentrate specific search functionality in commands.search.

Also concentrate the tests.