@stdweird: reworked to ensure that the `extra_options` are provided when parsing an easyconfig file; this involves moving several functions from `easyblock.py` to `easyconfig/tools.py` (to avoid cyclic deps between those two modules)