Remove AbstractEvent and AbstractVenue

Been wanting to do this for while. The `SourceParser` subclasses were creating an `AbstractEvent` and an `AbstractVenue`, but then immediately invoking complex methods to convert them to a normal `Event` and `Venue`. The abstract versions were transient, and never used outside of this process, and thus unnecessary. This refactoring removes all that complexity, and now `SourceParser` subclasses create `Event`s and `Venue`s directly.

This exposes more low-hanging refactoring fruit among the `SourceParser` subclasses, but I'll save that for later.
As an aside, I plan on using converting these specs to use webmock, so that we can get rid of all this mocking, and just stub a single http request, and then webmock should blow up if an addition http request is made, thus testing that only one request is made, without coupling the tests to knowledge of the parser internals.