Refactored job save API and some spawn fixes

spawn v1 and v2 use the same code to create/update jobs.
spawn v2 uses job/save instead of job/submit to save jobs.