Add 2 diagonal and AVX double implementation.
Add 2 diagonal and double-precision AVX implementation.

Things to note:

1) No, the flush-to-zero and denormals-are-zero are *not* set by default
   In fact, setting the flags explicitly improves perfomance
   significantly even for the scalar version of the code.
2) The double-precision version of the code (even with AVX!)
   is responsible for 25% of the computation time in medium.in.
   This is *much* more than what we were expecting (I recall it
   was supposed to be 1% of the cases?). We have to investigate this.
3) Current improvement of AVX vs. Scalar is about 4.6. This
   indicates that the code is somewhat IO bound...
4) Which is why the 2 diagonal implementation is about 20% faster.
   Yes, it is magic. The 2 diagonal implementation is in and it works.
   I don't know how it works. I just works. Magic.