Added search result page parsing capability

* NetRunner can now fetch search results and detect if the result is a
single card or not and give a response based on this.
* There is now a SearchResultsParser for parsing results pages, and a
base Parser class that abstracts away some shared parsings between
CardParser and SearchResultsParser

NB: Searching currently can only get cards from the first page of a
search, though it can determine how many pages and results there are.