Initial commit and project setup.
Checkout system implementation.
Add readme and license info...
Cleanup require statements; instead rely on lib being added to load path.