(disabled) Revert "Revert "partially fix #2149, partially support more
efficient struct return (disabled). unfortunately this would break some
struct returns while making other work -- this needs to be selectively
enabled for different possible return types"

This reverts commit 4fa936436a1ebb44b4e73023e557d3f686f8dacc.

Conflicts:
	src/ccall.cpp