Convention-based type resolver for Data Contract serializer

Resolves #94.
Shouldn't `ArgumentException` take an argument about the name of the invalid argument?