Refactor test for new plugin/attach system
Refactor module for new plugin/attach system
Merge branch 'feature/refactor-plugin-and-attach-system'

This merge enables an (arguable) better mental model for developers,
which enables a more correct view on which functionality should
modify the object model (or the parser, or depend on plugins), and
which functionality should modify the tree (in the parse phase).
Add tests for standardised options for `use` and `parse`
Add functionality for options for `use` and `parse`
Merge branch 'feature/standardise-options'

This merge standardises how parse-phase and attach-phase options
should be passed to plug-ins.

First, attach-phase settings, are passed as a second argument to
`Retext#use(plugin, options)`. The plugin itself will receive the
options (or, by default, a plain object) when its invoked by the
retext instance.

Second, parse-phase settings, are passed as a second argument to
`Retext#parse(value, options?, done)`, or
`Retext#run(node, options?, done)`. Every by plugins returned function,
will receive that object (or, by default, a plain object).
Remove `retext` argument for plugin's `onrun`
Refactor module

Mostly, updates docs.
Refactor docs in `Readme.md`
Remove superfluous test code
Update changelog for 0.3.0-rc.2
0.3.0-rc.2