A little library refactoring

I've redone all the cKanren .scm files to use proper libraries, instead of a mix of `load` and proper libraries, all mixed together. This, hopefully, will make cKanren a little more consistent and easier to use, and eliminate a slew of errors caused be weird load behavior which depends on directory, load order, and other nonsense.

I've tried to ensure everything works properly. The test suite seems to run, though in moving around code, I made have inadvertantly messed up a test case or two, as it seems occassionally functions were redefined using the same name and used again when creating tests. So, maybe double check those if you accept these changes. I didn't see any errors when I ran the test-suite though.

I also added a few usage examples to the readme.

William Bowman