fix "undefined" errors introduced in 0.11.0.1

keepAlive values were previously being ignored, but in order to keep
them alive, I added a call to readIORef from them. Some of those
keepAlive values were undefined, which was fine when the values were
unused, but now those values can no longer be undefined.
make the keepAlive optional

Instead of using undefined or dummyIORef for the keepAlive of those
Sample values which don't need a finalizer, let's use Nothing.
Merge pull request #18 from gelisam/maybe-keepAlive

Regression in sodium-0.11.0.1