tested DSL#sync
fixed unused argument warning in dsl_spec
added test for DSL#start starting a thread
cleaned up dsl_spec

Removed tests for task behavior and reduced the amount of thread mocking.
extracted foo def for dsl spec

This make everything a lot easier on the eyes
added 1 arg context to async test
async now raises an error with too many arguments
async_block now sets the task value
arguments for async are now cleaner.

There's no dirty trick to make them throw the right exception
since the dirty trick was removed, we don't need to test for it

Ruby should handle method calls like normal