[Source] Remove the notion of a `DataProvider` and move logic into `Source`

Closes https://github.com/CocoaPods/Core/issues/183

\c @fabiopelosin @alloy 
This will throw if `repo` is `nil` and since that is the default value of `repo` it seems likely to happen at some point. Is there any reason for `repo` to still default to `nil` and if there is shouldn't the resulting `nil` value be handled?