Improved marshaling of interface "Marshaler"

The Marshal did not work for pointers to interface Marshaller. I added the test cases, which had experienced this problem.
I do not quite understand you. Once again you have to offer to split PR into two?