Add resolve implementation for submitting from shelves for Helix Sync
Includes additional concepts for creating a "helix sync shelf client" vs a "helix sync device client". It's expected that there's basically one shelf client per user per project. The "device" client is an additional client per user per project per machine. The HWS services will submit via the "shelf client".
The resolve implementation remains untested at the moment in order to get the client changes in the hands of Helix Sync developers.