Changed DSL syntax to have explicit expressions for each parameter,
those expressions are evaluated in a sane way now, added model inferrer
code so that block expressions actually work now, added some validation
to the DSL

Change-Id: I387ae9abeea0246004ec80fdd2522ecdd38f12ea