Implementation files.

First cut.
Sync initial implementation with repo.

Merge in README, LICENSE and .gitignore.