WIP: Add types to facilitate release of memory via finalizers.

I started to implement the suggestion @stevengj gave in #26. There are new types `KinsolHandle`, `CVodeHandle`, `IdaHandle` and `NVector` with finalizers. I hope this doesn't break any existing code which doesn't use the simplified interface? IDAS and CVodes are not covered yet.
Yeah. I did that for consistency. We cannot use `CVode` because there is already a function called like that and `Ida` is a bit short... But I don't insist on those names.