Allow the coercion value to be directly tested.

Not enough that it passes the type constraint, its also important that
the coercion results in the correct value.

For rt.cpan.org 82353.
Refactor the duplicate code in type_isa and type_does.

Aside from how the type constraint was created, they were exactly the same.

Not having duplicate code will be helpful when making type_isnt and
type_doesnt shortly.
Extract the logic to create a type constraint from a type.

This will be used by type_isnt and type_doesnt
Change the internal function to take a type constraint.

I think this pattern is going to make doing type_doesnt and type_isnt
easier to implement.
Add type_isnt and type_doesnt.

For rt.cpan.org 82352
Merge pull request #1 from schwern/feature/coercion_value

Allow the coercion value to be directly tested.
Merge pull request #2 from schwern/feature/negative_tests

Feature/negative tests
thanks patch from @schwern.
shipped 0.05. ChangeLog diff is followings:

+0.05    Mon Jan 21 10:13:00 JST 2013
+        - [FEATURE] added new api: type_isnt, type_doesnt. (thanks schwern)
+        - [MOD] option can take CodeRef for testing coercion results. (thanks schwern)
+
 0.04    Sun Nov 21 22:43:00 JST 2012
         - MISC: update Module::Install 1.06 for perl 5.16 (thanks report miyagawa.)