Re-Packaging - Getting Started

Finally found a good way to organize and package everything
so that it's nicely organized and testable. Still a bit of work
to do but to get started:

+ small changes to Makefile for color-output
+ change makefile test command to test all packages
+ added ChainContext struct for sharing data to chain package
+ updated chain command(s) to use new context
+ modified main to use the context for all chain commands
+ added empty test file to chain package
+ removed the old top-level chain.go package