Make parsing function types more convenient

Function parse/1 now takes an iodata() value and unparse/1 returns a binary.
This doesn't break anything with regard to backwards-compatibility.