Added documentation regarding is(), is_eq() and is_num(), and undef args

When both arguments are undef, the test succeeds. If only one of them
is undef, the test fails.

Signed-off-by: Pedro Melo <melo@simplicidade.org>
Bugfix: subtest() reported spurious failure if $? != 0

Previously, a subtest callback which happened to have $? nonzero on exit
would spuriously cause failure of the subtest, even if all its assertions
passed.  So make subtest() set $? to zero after executing the callback.
A better fix for the $? subtest fix.

This carries $? over from the subtest rather than resetting it to 0.
Merge branch 'master' of https://github.com/melo/test-more into melo-master
Make the documentation of is()'s behavior wrt undef a bit more succinct.
Add new MYMETA.yml to .gitignore
Update the change log with Pedro's doc fix
Version 0.98
FAQ entry for test naming schemes
FAQ entry for "Why do I need more than ok?"
Linkify module names
use m// for clarity
Make BAIL_OUT play nice inside subtests.

Bailing out of simple tests, like this:

    plan tests => 3;
    pass 'main 1';
    BAIL_OUT('OMGWTF!');
    pass 'main 2';
    pass 'main 3';

produces verbose output like you'd expect:

    1..3
    ok 1 - main 1
    Bailout called.  Further testing stopped:  OMGWTF!
    Bail out!  OMGWTF!
    FAILED--Further testing stopped: OMGWTF!

But if you bail out of a subtest, like this:

    plan tests => 3;
    pass 'main 1';
    subtest 'main 2' => sub {
        plan tests => 2;
        pass 'subtest 1';
        BAIL_OUT('OMGWTF!');
        pass 'subtest 2';
    };
    pass 'main 3';

you get a bunch of spew:

    1..3
    ok 1 - main 1
        1..2
        ok 1 - subtest 1
        Bail out!  OMGWTF!
        not ok 2 - main 2
        # Child (main 2) exited without calling finalize()

        #   Failed test 'main 2'
        #   at
        #   /home/larryl/Test-More/blib/lib/Test/Builder.pm
        #   line 1225.
    Dubious, test returned 255 (wstat 65280, 0xff00)
    Failed 2/3 subtests

    Test Summary Report
    -------------------
    t/foo.t (Wstat: 65280 Tests: 1 Failed: 0)
      Non-zero exit status: 255
      Parse errors: Bad plan.  You planned 3 tests but ran 1.
    Files=1, Tests=1,  0 wallclock secs ( 0.02 usr  0.01 sys +  0.02 cusr  0.01 csys =  0.06 CPU)
    Result: FAIL
    Failed 1/1 test programs. 0/1 subtests failed.

This fix makes BAIL_OUT behave sensibly when called inside a
subtest (even multiple levels deep):

    1..3
    ok 1 - main 1
        1..2
        ok 1 - subtest 1
    Bailout called.  Further testing stopped:  OMGWTF!
    Bail out!  OMGWTF!
    FAILED--Further testing stopped: OMGWTF!
Merge remote-tracking branch 'larryl/master' into bug/bailout_in_subtest
Update the change log
Merge branch 'bug/bailout_in_subtest'
Update .gitignore for MYMETA.json
Merge remote-tracking branch 'doherty/master' into review/doherty/faq
Give an example of ordered filenames.
Rejigger Mike Doherty's FAQ answer as it's really about test files.

Reign in the 123_name.t style.

Clearly explain what a test filename is used for.