Null pointers should not crash (and they do).
Nulls are now handled.
Update docs.  Add header that references clibs and defines interface for semver.