Add a clone method to TensorType and its equivalents.
Get rid of typeConstructor in Scan.
Remove struct_id and use the node name.

It is suitably unique and, more importantly, shared with the rest of the methods.
Document the clone() method.
Merge pull request #2342 from abergeron/multi_fixes

Multi fixes (pieces of the multi-gpu code)