use a SingularityPendingRequest instead of an id object. 

this has the intended benefit of making it impossible to double-schedule a request.

it also provides more flexibility for adding more metadata into schedule requests.