Merge pull request #29 from plexus/introduce_form_controls

First major groundwork (spike) for form controls/actions
Fix a bug with Rubinius, add constraint to DSLBuilder

Workaround for Rubinius behaving in a certain unexpected manner.
add generated file to .gitignore
Test on mutant latest master