Fix TB2::History for Windows.

PID on Windows can be negative.
See http://www.cpantesters.org/cpan/report/58ae62c9-6bf6-1014-b747-1a2909253afe

Defined a new TB2::NonZero_Int type for the TB2::History PID storage.
Remove the redundant defined checks in our subtypes.

Str and Int already check this for us.
Add tests explicitly checking PID storage works.

At Piers' chiding.

For #348
Merge pull request #360 from schwern/issue/348

Fix TB2::History for Windows.