Allow the specification of a source URL in a Podfile

Will close https://github.com/CocoaPods/Core/issues/170.
See https://github.com/CocoaPods/Core/compare/source-url?expand=1 for the sister changes in `Core`.

TODOs:
- [ ] Add test coverage
- [ ] de-duplicate code with `pod repo add`?
- [ ] verify robustness of name generation
- [ ] verify error reporting
- [ ] deprecate/remove specification of repos by name in `Podfile`?

\c @alloy @kylef @fabiopelosin @orta 
Personally I'd go with, for elements of least surprise:

* Any GitHub URL:
   * https://github.com/Artsy/Specs -> artsy
   * https://github.com/Artsy/MiSpecificationis -> artsy-mispecificationis

But I think the use case for multiple spec repos is pretty rare and very likely set up with an automated script, so shouldn't be a worry.