Enhanced the logic of the Service ID generator

Now the generator can strip user-defined prefix, suffix or namespace items from the generated service ID.

For the sake of brevity I wanted a class like `Vendor\Bundle\SuperBundle\Service\SpecialService` to have a generated service ID like `vendor.super.special` instead of the default `vendor.bundle.super_bundle.service.special_service`.

You can parametrize the removal of any particular piece of the service ID name provided that it matches a RegEx for either a prefix, suffix or namespace item. Right now the default parameters accomplish the naming convention I intended. They can easily be removed so that the new naming convention is not disruptive on old installs.