misc fixes, changed to EnvironmentModifications (issue #6501) (#6541)
misc fixes, changed to EnvironmentModifications (issue #6501) (#6541)

* Support pruning of vars with Env from_sourcing_file (issue #6501)

- Blacklist string literals or regular expressions of environment
  variables that are to be removed from consideration as being affect
  by the sourcing of the file. Conversely, whitelist modifications
  that should not ignored.  Whitelisted variables have priority over
  blacklisting.
  Eg,

      EnvironmentModifications.from_sourcing_file
      (
          bashrc
          blacklist=['JUNK_ENV', 'OPTIONAL_.*'],
          whitelist=['OPTIONAL_REQUIRED.*']
      )

This modification can be used to eliminate environment variables that
are not generalized for modules (eg, user-specific variables).

* BUG: module prepend-path in wrong order (fixes #6501)

* STYLE: module variables in sorted order (issue #6501)

- looks nicer and also helps when comparing the contents of different
  module files.

* ENH: remove duplicates from env paths when creating modules (issue #6501)

- this makes for a cleaner module environment and helps avoid some
  unnecessary changes to the environment that are only provoked by
  redundancies in the PATH.

  eg,
      before PATH=/usr/bin
      after  PATH=/usr/bin:/usr/bin:/my/application/bin

  should only result in /my/application/bin being added to the PATH
  and not /usr/bin:/my/application/bin

Activate via the 'clean' flag (default: False):

    EnvironmentModifications.from_sourcing_file(bashrc, clean=True,..

iulian787/spack,tmerrick1/spack,krafczyk/spack,matthiasdiener/spack,EmreAtes/spack,matthiasdiener/spack,LLNL/spack,mfherbst/spack,krafczyk/spack,krafczyk/spack,tmerrick1/spack,EmreAtes/spack,matthiasdiener/spack,EmreAtes/spack,iulian787/spack,matthiasdiener/spack,mfherbst/spack,LLNL/spack,tmerrick1/spack,krafczyk/spack,LLNL/spack,matthiasdiener/spack,EmreAtes/spack,LLNL/spack,mfherbst/spack,tmerrick1/spack,krafczyk/spack,tmerrick1/spack,LLNL/spack,mfherbst/spack,iulian787/spack,EmreAtes/spack,iulian787/spack,iulian787/spack,mfherbst/spack