Optimizing whitening/colouring functions.

Using expand() to avoid ger() and matrix alloc.

No change in functionality, it just reduces memory requirements and speed. Important for fat datasets.