Load Text::Abbrev only on demand

As the allow_any_unambiguous_abbrev option is not used in Dist::Zilla
this should improve DZ startup a bit (one less module loaded).
changelog for Text::Abbrev change
v0.313

          don't load Text::Abbrev until it's needed (thanks, Olivier Mengué)
Adds App::Cmd::Tester::CaptureExternal

Adds a subclass to capture from external commands as well as from
Perl using Capture::Tiny.  The 'output' in the result class is
the concatenation of the two streams, rather than interleaving.
(This is unavoidable.)

To support this, Tester was refactored to extract a private
_run_with_capture method from test_app.
move this change to a new version
finds weaver abstract
some minor cleanup
v0.314

          adds App::Cmd::Tester::CaptureExternal to capture output from
          external subcommands (thanks, David Golden)

          if there's no Pod =head1 NAME, a Pod::Weaver-esque #ABSTRACT will be
          respected (thanks, Andreas Hernitscheck)
v0.315

          fix the test of "echo" on Win32 (thanks, Chris Williams)
echo is a CMD.exe built on MSWin32 use that instead for capture test
v0.316

          fix the test of "echo" on Win32 (thanks, Chris Williams)
exit_code=1 if unknown command in Tester
v0.317

          App::Cmd::Tester now reports exit code 1 for unknown commands, as
          App::Cmd would exit(1) in that case; addresses
          https://rt.cpan.org/Public/Bug/Display.html?id=73084 reported by
          David Golden
add docs on generating help screens
fix pod for App::Cmd::Command::execute

There was an apparently spurious "=for" pod line that prevented correct
doc weaving
add extra newline to help output

This provides a blank line before the next command prompt,
consistent with the 'commands' command.
improve global help example in tutorial

This commit changes the global help example to delegate execution to the
'help' command instead of just dying with a usage message.

This means that "yourapp foo --help" will produce the same output as
"yourapp help foo".
improve docs for App::Cmd::Command::command_names
Tester should treat exit() like exit(0)
credit to xdg for his work