Support arbitrary formatter options

This is the missing piece that makes custom formatters feel first-class, as exemplified in this [mix.exs](https://github.com/alco/porcelain/blob/master/mix.exs#L19-L32) file from Porcelain:

```elixir
  def docs do
    [
      formatter: "sphinx",
      #highlighter: :"highligh.js" | :"pygments",
      readme: true,

      formatter_opts: [
        gen_overview: false,
        pygments_style: "emacs",
        html_theme: "pyramid",
        html_type: "singlehtml"
      ]
    ]
  end
```