New scaling and permutations.

- New scalings and permutations so that different kernels can work
  together.

- TODO: There are still cases where two kernels may not work together
  (assert will fail for these). To fix this, in Kernel::Initialize(...),
  we will need to solve for the permutations and scalings for all
  kernels together.