Use a void* as the KVO context. Saves us those horrible typecasts and makes the code more readable. Also, strings may get uniqued, so if someone were to use the same string (unlikely in this case), they’d get the same pointer value.
Check return value of init.
More use of void*, this time for associated object.
Merge pull request #3 from uliwitness/pullrequests/paranoia

Fixes for issues that would probably never crop up in practice