Fix rgb2cmyk corner case

Converting `rgb2cmyk([0,0,0,1])` gets division by zero resulting in `[NaN,NaN,NaN,100]`. This commit fixes that supposing that `black === {c: 0, m: 0, y:0, k:100}`.
Add test
Add npm test command
Fix hsv2hsl corner case
Merge pull request #12 from dfcreative/patch-2

Fix rgb2cmyk corner case