Interface improvements + bug fixing

Hello,

We are using the KILabel class in our organisation projects. However we have refracted the interface of the KILabel class: added documentation, unified the KILinkDetectorType with the KILinkType, add getters and setters for each link type text attributes, added support for ignore keywords, and a few changes more.

Regarding bugs:

1. We have fixed a bug that made the KILabel crash the execution when setting a nil text. 

2. There is still a bug in the rendering of the text: the bounds are not exactly the same as a normal UILabel. This makes the KILabel be rendered in a rectangle that doesn't correspond with the method `[@"string" boundingRectWithSize:options:attributes:context:]` (as UILabel does). I have to study a bit more why this is happening and how to prevent it.

I don't know if you might be interested in merge our fork in your repository, in any case, I offer you a pull request and is your call to decide if you are interested or not.

Also, if you feel we must add/change something else, please, tell me and we will do it.

Thanks,

Joan