Allow tests to be specified in the DSL

Tests can now be specified as a block in the DSL. A temporary test
directory is set up automatically when calling Formula#test. The
semantics of the test remain the same: the block can either raise an
exception or return false to signal failure.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
msgpack: use new test DSL

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
gd: use new test DSL
jpeg-turbo: use new test DSL
pango: use new test DSL
pygtk: use new test DSL