Clover QPX

* Interchanges the two innermost indices for `sw_inv` and `sw`, see issue #222
* QPX implementation of multiplication with `sw_inv`, including a new data type
* to do: `sw` multiplication
* to do: fusing with hopping matrix

This not for merge yet, but I wanted to have some discussion. For the `sw` multiplication we either store full 6x6 matrices making the QPX implementation easy, or we make use of the hermiticity of the 6x6 colour matrix, but having difficulties with QPX then. 

Moreover, it doesn't seem to help that much...