Flesh out the beginnings of a framework

Start to flesh this thing out a bit.  This commit adds a CLI as well as some of the builder and builder_spec classes.  This is obviously meant to be a beginning to something - not a full feature.