Convention-based type resolver for Data Contract serializer

Resolves #94.
It might. This is something that I don't consider particularly *important*, but I also don't mind testing for it. However, we need to ask ourselves: *would it be a breaking change if `ParamName` changes?*