Make TAP parsing more complete/edgecase proof

*NOTE*: this pull request should be merged AFTER the other pull requests I have open to fix the TAP parser ( https://github.com/jmmv/kyua/pull/88 ).

- Handle skip testcases/testplans properly (fixes https://github.com/jmmv/kyua/issues/85 , https://github.com/jmmv/kyua/issues/86 ).
- Handle TODO testcases properly (fixes https://github.com/jmmv/kyua/issues/90 ).

Partly sponsored by EMC / Isilon Storage Division

TODO: I should add more testcases for edgecases I found when developing the improved TAP parser.

<pre># (cd /usr/local/tests/kyua-testers; kyua test tap_*test)
% kyua test tap*test
tap_inttest:top__missing_command  ->  passed  [0.009s]
tap_inttest:top__unknown_command  ->  passed  [0.008s]
tap_inttest:list__ok  ->  passed  [0.006s]
tap_inttest:test__pass  ->  passed  [0.008s]
tap_inttest:test__fail  ->  passed  [0.009s]
tap_inttest:test__bogus_plan  ->  passed  [0.007s]
tap_inttest:test__bogus_plan_negative_count  ->  passed  [0.008s]
tap_inttest:test__bail_out  ->  passed  [0.007s]
tap_inttest:test__crash  ->  passed  [0.026s]
tap_inttest:test__timeout  ->  passed  [1.044s]
tap_inttest:test__config_ignored  ->  passed  [0.016s]
tap_inttest:test__missing_test_program  ->  passed  [0.012s]
tap_inttest:test__invalid_test_case_name  ->  passed  [0.010s]
tap_inttest:test__skip_plan  ->  passed  [0.014s]
tap_inttest:test__skip_testcase  ->  passed  [0.013s]
tap_inttest:test__todo_testcase_not_ok  ->  passed  [0.012s]
tap_inttest:test__todo_testcase_ok  ->  passed  [0.009s]
tap_parser_test:try_parse_plan__ok  ->  passed  [0.005s]
tap_parser_test:try_parse_plan__skip  ->  passed  [0.005s]
tap_parser_test:try_parse_plan__reversed  ->  passed  [0.005s]
tap_parser_test:try_parse_plan__insane  ->  passed  [0.005s]
tap_parser_test:try_parse_plan__insane_ERANGE  ->  passed  [0.005s]
tap_parser_test:parse__ok__pass  ->  passed  [0.005s]
tap_parser_test:parse__ok__fail  ->  passed  [0.005s]
tap_parser_test:parse__fail__double_plan  ->  passed  [0.005s]
tap_parser_test:parse__fail__inconsistent_plan  ->  passed  [0.005s]
tap_parser_test:parse__bail_out  ->  passed  [0.005s]

27/27 passed (0 failed)
Committed action 138
</pre>