[LONG RUN PR] New adapter interface and Ripple Effects 

Todo:
- [x] Update commands
- [x] Update tests
- [x] Update to use a Factory pattern for creating an Adapter
- [x] Move determineAdapter to Adapter method, supportsRepository().
- [x] Split IssueTracker API to its own interface (Under review #174)
    - [x] Add additional Commands for pull-request (close, <del>assign</del>, labels, milestones)

Adapters:

- [x] GitHub (**under review**)
- [ ] BitBucket
- [ ] GitLab