Use Webmock to isolate tests from the network

Replaced all the network-related mocks and stubs with Webmock. This is great, because now our tests know much less about the internals of the objects under test, enabling easier refactoring. Was also able to remove a few methods that only existed as seams for stubbing network responses. Lastly, Webmock exposed an unnecessary http request happening in all parsers, so that was removed, which should increase performance.