Transposed chromatic adaptation matrices (?)

In `color_constants.py` , the adaptation matrices were transposed. It seemed like this was done on purpose for some reason? The matrix multiplication order is then swapped in `chromatic_adaptation.py` `def _get_adaptation_matrix` to account for the transposition. Either way, the adaptation matrices were not consistent with the results given in http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html . 

I've changed the matrices and the calculations. I've also added the ability to specify your own source and destination white-points (rather than looking up constants) -- something that I've needed.

Is there a reason for these matrix transpositions & matrix multiply order swaps? I've seen this in the RGB<->XYZ conversion matrices as well. It's inconsistent with literature standards, confusing and unecessary