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.
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