Upload updates

Build on the upgrade_to branch, which is still unmerged as well.
Also, do we need this?  Looks to me like we're posting the agent version directly to the agent which would be the preferred method and will scale quite a bit better (and cost less in memory).