Merge pull request #549 from adipopescu/CombinatoricV2

Separation Combinatoric within kernel
Separating Sources: kernel/spectrum
Separating Headers: kernel/spectrum