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

Closes https://github.com/CocoaPods/Core/issues/183

\c @fabiopelosin @alloy 
I check through `Core` and `CocoaPods` and I saw no usage of `Source.new()` or `Source.new(nil)`. I guess maybe it could be called in a way that doesn't match this search e.g when stubbing or similar