Prototype for having many different results and their types statically resolved.
Make variance issues work

By using contravariance we can use Any to act as the signal for 'not used' instead of Nothing.
Complete the ResultMatcher

Now we can return arbitrary result types and it 'should' work.
The danger is not being able to find a Writable for the type which could result in bad swagger etc generation.
Code cleanup
Add all encodings to the ResultMatcher
Enable using the same status with multiple different results

The status is successfully reported and the type will be the cross section of the individual types.
Merge pull request #38 from http4s/topic/SuperResult

Collect type information for each possible response code