Allow action to be specified in DSL

* Move all defaulting into DSL
* Move Label creation up into Form, and let Inputs fill with Label
  values (to_str mostly handles this)
* Add actual specs for DSL rather than respond_to checks
`.ruby-version` was changed a few commits ago. I might pull this over to master instead.

This is just to solve a failing travis build, since 2.1-head doesn't have a binary.