refactor main.py, flesh out functions from main function

@stdweird, @wpoely86: please review?

The diff is going to look a bit messy, maybe you want to look at the actual new `main.py` instead...
use
```python
kwargs={}
if try_to_generate:
    kwargs["build_specs"]=build_specs
ecs = process_easyconfig(ec_file, **kwargs)
```