Fetchers accept string url or result of url.parse. closes #3