Remove --dotcucumber. No longer generate stepdefs.json.

This feature was added a long time ago to support autocomplete in
3rd party tools. The only tool that has used the generated stepdefs.json
file is Cucumber Pro, which recently abandoned it. (Cucumber Pro will
receive the same metadata over an API, via a custom formatter).
Merge pull request #737 from cucumber/remove-stepdefs-json

Remove --dotcucumber. No longer generate stepdefs.json.
Bring back much of the old Ast::Table api for use in step defs

Step defs get an instance of Cucumber::MultilineArgument::DataTable
which decorates the new, very simple, Core::Ast::DataTable.

`cell_matrix` management is now happening here, and therefore all
methods that operate on the `cell_matrix` can be created here.

Closes #729
Update History

@os97673 please try and remember to mention tickets in History.md when
you close them. I often forget myself, but it makes doing releases much
easier!
Add a couple of scenarios to document After hooks

@willbryant I did this to try and reproduce the error you mentioned in
https://github.com/cucumber/cucumber/commit/1ac1f8abb473f9fca52eeb8534880dda12f7e608#commitcomment-7695454
but it's passing.

I guess there must be something particular about your scenario that's
causing it. Can you help me make a test case to reproduce the problem?
I had trouble when I had undefined steps, so I hacked it
Fix JRuby bug
Remove dead code ref #734
Bump version
Add spec to for the pretty formatters handling of hook output
Fix the Pretty formatters handling out hook output

For the Pretty formatter it is important that the output (puts) from
After/AfterStep hook arrive before the call to after_table_row, and
that the exceptions from from After/AfterStep hooks arrive after the
call to after_table_row.
Let the Pretty formatter print hook output before hook exceptions