feat: add Configurator interface

This decouples the Adapter configuration from the Adapter
and 'core:configure' command, allows for flexible configuration
and feature enhancements
feat: add AdapterFactory for creating adapters and Configurators
refactor(Application): use AdapterFactory for initializing adapters

Update CoreConfigureCommand to use Adapter Configurator
refactor(Adapter): remove obsolete methods

Remove

* __construct()
* doConfiguration()
* getName()
fix: update bin/gush for the AdapterFactory

Only adapters that are compatible are registered
fix(Factory): AdapterFactory wrong condition check
test: Update tests and fix broken

Use prophecy instead of PHPUnit Mock in CoreConfigureCommand
refactor: Move setting default adapter to 'core:configure'
style: fix PHPDoc
test: add missing tests for AdapterFactory
fix(Adapter): wrong condition in DefaultConfigurator
Merge pull request #183 from gushphp/new-adapter-interface-configurator

This PR was merged into gushphp:new-adapter-interface branch.

Discussion
----------

Introduce configurator

                   
|Q            |A  |
|---          |---|
|Bug Fix?     |n  |
|New Feature? |y  |
|BC Breaks?   |y  |
|Deprecations?|n  |
|Tests Pass?  |y  |
|Fixed Tickets|   |
|License      |MIT|
|Doc PR       |   |
                   

This decouples the Adapter configuration from the Adapter and 'core:configure' command, which allows for a flexible configuration and other feature enhancements.
 Sent using [Gush](https://github.com/gushphp/gush)

Commits
-------

6909d643f9887c1e097f3113823b2a594eb355cf feat: add Configurator interface

This decouples the Adapter configuration from the Adapter
and 'core:configure' command, allows for flexible configuration
and feature enhancements sstok
80c24655414aa7958b0c73f1a7bd3c281c7f8048 feat: add AdapterFactory for creating adapters and Configurators sstok
e34f8b15325d049cf94b917eca9a3c63d860a6df refactor(Application): use AdapterFactory for initializing adapters

Update CoreConfigureCommand to use Adapter Configurator sstok
fefba71769990e3fef9bd3688bb24993dca4a5bb refactor(Adapter): remove obsolete methods

Remove

* __construct()
* doConfiguration()
* getName() sstok
78f06d60b8fa4eadb003dc34d788ca4c0f1678af fix: update bin/gush for the AdapterFactory

Only adapters that are compatible are registered sstok
9d8e1f8f279703cd419e4beaff9c03982341fc49 fix(Factory): AdapterFactory wrong condition check sstok
60909a5c2b39bb2383fdbb02b9f79d66641b228b test: Update tests and fix broken

Use prophecy instead of PHPUnit Mock in CoreConfigureCommand sstok
c7fc78b444b2e716deff4ef47d147d399bfdba8b refactor: Move setting default adapter to 'core:configure' sstok
531e5bf832888b43db9f226a3cce2fa90c3a1306 style: fix PHPDoc sstok
44a27fa34b7d74b344cc14e111b4bd712706cb1d test: add missing tests for AdapterFactory sstok
96fa3120ac7cfb34029e32868a96b68bec36368b fix(Adapter): wrong condition in DefaultConfigurator sstok