Passing parameters to DSL blocks.

I had a need to be able to pass parameters to some blocks while taking advantage of the excellent scope provided by `Docile.dsl_eval`. The changes to the library itself are very simple but I've added tests and documentation.

The major problem with this change is that it breaks compatibility with ruby 1.8 by using `instance_exec` over `instance_eval`. There's one or two ways to work around this but it's not a concern for me so I thought I'd check if you're willing to accept the patch before going to the trouble.