Performance boost: reduce instantiations of re.Scanner
Performance boost: reduce instantiations of re.Scanner

- Lexer is the same for every Spec parser in spack, so don't build it
  every time.

- This improves time to import package.py files a lot, as a Lexer
  doesn't have to be constructed for every spc in the packages.

- To concretize dealii:
  - Before: ~20 sec
  - After:  ~6 sec

mfherbst/spack,LLNL/spack,iulian787/spack,TheTimmy/spack,tmerrick1/spack,lgarren/spack,TheTimmy/spack,lgarren/spack,skosukhin/spack,krafczyk/spack,matthiasdiener/spack,lgarren/spack,lgarren/spack,skosukhin/spack,LLNL/spack,krafczyk/spack,TheTimmy/spack,matthiasdiener/spack,mfherbst/spack,EmreAtes/spack,iulian787/spack,iulian787/spack,LLNL/spack,tmerrick1/spack,mfherbst/spack,skosukhin/spack,skosukhin/spack,LLNL/spack,iulian787/spack,TheTimmy/spack,tmerrick1/spack,mfherbst/spack,EmreAtes/spack,matthiasdiener/spack,krafczyk/spack,iulian787/spack,TheTimmy/spack,matthiasdiener/spack,tmerrick1/spack,EmreAtes/spack,EmreAtes/spack,krafczyk/spack,mfherbst/spack,tmerrick1/spack,LLNL/spack,lgarren/spack,krafczyk/spack,EmreAtes/spack,skosukhin/spack,matthiasdiener/spack