Allow local hacking of core again

cc @tooky do you think this will work OK?
Update to cucumber-core 2.0

This means using a null object for multiline arguments, which involved
quite a few changes. It means we do now have our own wrappers for the
DocString and DataTable classes, so we can add back those methods like
diff! that people will be looking for.