Make usage of this extension easier

                   
|Q            |A  |
|---          |---|
|Bug Fix?     |no |
|New Feature? |yes|
|BC Breaks?   |no |
|Deprecations?|no |
|Tests Pass?  |no |
|Fixed Tickets|   |
|License      |MIT|
                   

This makes the 'Symfony DependencyInjection extension' much easier to use.

And removes the need to duplicate logic for every system.

* Provide service definition files for registering
* Provide compiler passes for lazy loading (copied from the SearchBundle)
* Provide ServiceLoader for loading the service-files (no need for reflection or crazy hacks)

Todo:

* [ ] add tests for ServiceLoader
* [ ] add tests for compiler-passes (copy from the SearchBundle)
* [ ] add compiler-pass for registering an extension (this was originally not supported)
* [ ] add documentation for registering a FieldSet in the ContainerBuilder
 Sent using [Gush](https://github.com/gushphp/gush)