[WIP] Stablelize adapter interface

                      
|Q            |A     |
|---          |---   |
|Bug Fix?     |yes   |
|New Feature? |yes   |
|BC Breaks?   |YES   |
|Deprecations?|n     |
|Tests Pass?  |n     |
|Fixed Tickets|GH-163|
|License      |MIT   |
|Doc PR       |      |
                      
**Note. This is a work in progress.**

This describes a clear API for the adapters making implementation much easier, the commands and adapters must updated to reflect these changes before this can be merged.

Any ideas and suggestions are welcome.

Todo:
- [ ] Update commands
- [ ] Update adapters
- [ ] Update tests

Adapters:

- [ ] GitHub
- [ ] BitBucket
- [ ] GitLab

Sent using [Gush](https://github.com/gushphp/gush)