only trigger deprecated warnings on using functionality which is actually deprecated

This contains changes required such that deprecation log messages are only hit when actual deprecated functionality is being relied upon.

This is necessary to make `--deprecated` useful, with the upcoming EasyBuild v2.0 release in mind. 

depends on https://github.com/hpcugent/vsc-base/pull/149


hmm, the readability is a bit low with this extra nesting: maybe try
```
if isinstance(self.extra_options, dict):
    pass # or log something?
 elif isinstance(self.extra_options, (list, tuple, HybridListDict)):
    ...
else:
   fail
```