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.
Seems to work ok for me!

```
In [4]: d = {"D50": {'2': (0.9642119944211994, 1, 0.8251882845188288),
         '10': (0.9672062750333777, 1, 0.8142801513128616)},
 "D55": {'2': (0.956797052643698, 1, 0.9214805860173273),
         '10': (0.9579665682254781, 1, 0.9092525159847462)},}

In [5]: d.get('D50').get('10')
Out[5]: (0.9672062750333777, 1, 0.8142801513128616)
```

Let's keep working on the tests until they pass on both platforms (Travis will check for you, don't worry).