Spectral cubes

First update on spectral cube classes. Obviously still a lot to go - mainly tests.