Add spec tests

This is a first pass and is in no way complete. It does travis support
and test the default case and the major params that change logic.