Basic construction of Specification

Get the bones out there, with lots of TODOs that can be cleaned up and
polished.  Gotta start somewhere.