Split all the library part into dumbcaslib.

This required a fair rewrite of the project and better compartmentalization.

Made the code golint warning free.

Changed which symbols are exported quite a lot. Export in-memory implementations
with support for the Corruptable interface instead of having the test code poke
into the structure directly.