fix conflict specification included in module files

fix conflict specification included in module files (see #994), base it on short module name obtained from active module naming scheme

this forced me to resort to another solution for verifying toolchain definitions vs the loaded toolchain module, since this basically means we can no longer obtain the (isolated) software name from a given module file (keeping in mind that a custom module naming scheme may be embedded a software name in some weird way)

the inner function `tc_elem_present` now using a regex to check whether a module name *could* be for a software package with the specified name, which is the best I can come up with

this approach should work most of the time, but it possible to come with a (weird) module naming scheme that breaks the assumptions made in `tc_elem_present`...
hmm, your regexp that has to match this shouldn't be that strict either. use `\s+` instead of hardcoded whitespace(s). (and while your doing that, make the search more exact: e.g. for loaded modules you now have
```
re.compile(r"^\s*module load\s+(.*)$", re.M)
```
that should better become
```
re.compile(r"^\s*module\s+load\s+(\S+)", re.M)
```
(esp if you want to use external module files).