Fix errors involving --no-remove-copy-calls and partially defined extern structs

Previously, if an extern type was partially defined in Chapel code, the
remaining fields would lose their values in certain circumstances (namely when
an initCopy was used).  The initCopy would take in an instance of that record,
copy the fields whose existence it understood, and then pass in an uninitialized
instance of the type to the constructor.  To preserve the values Chapel did not
understand, the argument to initCopy must be passed along to the constructor.