Rake Tasks accept an options hash instead of just a name

The commit message explains most of the change.

I've also thrown in a rather clunky test suite.

Examples of the new format are:
```ruby
Prmd::RakeTasks::Combine.new(name: :combine_with_options,
                                 paths: paths,
                                 output_file: output_file,
                                 options: options)
# options[:options] are passed to the underlying Prmd command.

Prmd::RakeTasks::Doc.new(name: :doc_with_options,
                             files: { input_file => output_file })

Prmd::RakeTasks::Verify.new(name: :verify_with_options,
                                files: [input_file])
```