More illuminants

I added support for more illuminants. The color conversion functions such as 'xyz2lab' now can be used with two extra parameters: illuminant and observer. If no parameters are specified the functions behave as before my changes (they default to the d65 illuminant and 2 degree observer angle). This to ensure backwards compatibility.

In addition I created tests for the new conversion features.
I think it does. I was not quite familiar with these way of writing python structures. Your code is more self documenting. The only drawback is that we need to index a map instead of an array. But I still I prefer your solution.