WebSearch: refactored perform_request_search()
- This commit splits the perform_request_search() into several mid-level API calls. The refactoring is gentle keeping all the previous functionality intact. (closes #542)
- The new mid-level API functions have prefix prs_.
- Adds series of regression tests.