fix approve case to run with unlimited queue

Test Plan:
1> start(jobs).
2> jobs:add_queue(qwe, approve).
3> [proc_lib:spawn(fun() -> jobs:run(qwe, fun() -> io:format(user, "~p~n", [N]), timer:sleep(10000) end) end) || N <- lists:seq(1, 10000)].

Reviewers: tbreddin, orixmann, vtarasen, akuleshov, aschultz

Reviewed By: aschultz

Differential Revision: https://review.tpip.net/D786
Fix crash of the server under heavy load. The time can have the negative value and crash the whole server

Test Plan: Overload the jobs queue before and after this change

Reviewers: tbreddin, aschultz, vtarasen, akuleshov, hsychla, orixmann

Reviewed By: orixmann

Differential Revision: https://review.tpip.net/D798
[jobs] fix deleting aprove queues

Test Plan:
   jobs:add_queue(q1, approve)
   jobs:add_queue(q2, approve)
   jobs:delete_queue(q2)
   jobs:delete_queue(q1)

Reviewers: vtarasen, aschultz, orixmann

Subscribers: aschultz, druss, mkraemer

Differential Revision: https://review.tpip.net/D1527
Merge pull request #2 from liveforeverx/master

Many fixes