Fix compile errors on MSVS2013.

Our working theory is that one of the MSVS headers has a #define of IN or
OUT. So we change the names of the types in our template, and people report
that it compiles.

Fixes #974