several minor feature additions

1. updated shock struct to reflect changes in shock codebase
2. limit upload of attribute file to happen only once when doing parts uploads
3. if 'AttrFile' field is used in input struct, download the nodes attributes to a file with that name
4. option to use input io name (parent_name) to identify parent_node in copy and subset outputs