rosie.ws_client: support multiple sources

`rosie.ws_client` is modified to work with multiple prefixes.
Use `multiprocessing.Pool` to send requests to the sources in parallel.
This requires a pickle-safe version of python-requests.

The `--prefix=PREFIX` for `rosie go`, `rosie lookup` and `rosie ls` can
now be specified multiple times. The lookup mode is rationalised into a
single option, with aliases.

`rosie go` updated to allow users to select any data source combination.

`rosie.suite_id`: The logic to obtain other user's local copy root is
not ideal, but there is no easy way to make it more general, so accept
that we hard code at the moment.

Tests:
* t/rosie-ls: new basic tests.
* t/rosie-lookup: new basic multi sources tests.

Other changes:
* Refactor.
* Pass `pep8` for modified modules.
Update version requirement for python-requests
rosie refactor: update date format, doc, etc
Fix tests
Merge branch 'master' into refactor-rosie.ws_client
Merge branch 'master' into refactor-rosie.ws_client
rosie refactor: various syntax improvements
Fix syntax in a test
Merge branch 'master' into refactor-rosie.ws_client

Conflicts:
	t/rosie-lookup/00-basic.t
Merge branch 'master' into refactor-rosie.ws_client
Merge branch 'master' into refactor-rosie.ws_client
Merge branch 'master' into refactor-rosie.ws_client
Merge pull request #1395 from matthewrmshin/refactor-rosie.ws_client

rosie.ws_client: support multiple sources