Unify scope parsing and checking for their existance

I have added the Cli method process_scope_option to parse the scopes and
check for their existance.
This does also allow the consolidation of the scope error handling.

One requirement for the scope check to work is that each inspector has a
renderer with the same name an vice versa.
This is at the moment the case but if this changes in the future we must
pass along if the scope list is relevant for the renderer or the
inspector.
Remove scope verification from tasks

The scope handling is now completely done in the Cli class by the
method parse_scopes_string().

Since the cli commands only pass along a verified scope list there
is no need to check them in each task.
If no scopes are provided by the user all scopes are passed along
to the tasks so there is also no need to allow calling the Task
method without scopes.
Remove obsolete exception classes
Check scope names for invalid characters

To prevent exceptions when converting the scope name to the class name
the scope is checked against a regex.