QuickCheck properties for sidejob.

Only testing new_resource/3 and cast/2.
Minor edoc fixes.
[bug fix] Off-by-one error in is_available.

is_available returned false one worker too early. Counterexample:
  [{set,{var,1},{call,sidejob,new_resource,[bla,worker,2]}},
   {set,{var,2},{call,sidejob_eqc,new_worker,[1]}},
   {set,{var,3},{call,sidejob_eqc,cast,[{var,2}]}},
   {set,{var,5},{call,sidejob_eqc,get_status,[{var,2}]}}]

  sidejob:new_resource(bla, worker, 2) -> {ok, <0.2812.1>}
  sidejob_eqc:new_worker(1) -> <0.2817.1>
  sidejob_eqc:cast(<0.2817.1>) -> ok
  sidejob_eqc:get_status(<0.2817.1>) -> overload

  Reason: {postcondition, {overload, '/=', {working, 'Pid'}}}
[bug fix] Busy-loop in is_available.

When trying to call the last worker and the limit has been
reached is_available looped waiting for a ready worker.
Counterexample:
    [{set,{var,1},{call,sidejob,new_resource,[bla,worker,2]}},
     {set,{var,2},{call,sidejob_eqc,new_worker,[1]}},
     {set,{var,3},{call,sidejob_eqc,cast,[{var,2}]}},
     {set,{var,5},{call,sidejob_eqc,new_worker,[1]}},
     {set,{var,7},{call,sidejob_eqc,new_worker,[2]}},
     {set,{var,9},{call,sidejob_eqc,cast,[{var,5}]}},
     {set,{var,14},{call,sidejob_eqc,cast,[{var,7}]}},
     {set,{var,20},{call,sidejob_eqc,get_status,[{var,7}]}}]

    sidejob:new_resource(bla, worker, 2) -> {ok, <0.16905.0>}
    sidejob_eqc:new_worker(1) -> <0.16910.0>
    sidejob_eqc:cast(<0.16910.0>) -> ok
    sidejob_eqc:new_worker(1) -> <0.16911.0>
    sidejob_eqc:new_worker(2) -> <0.16912.0>
    sidejob_eqc:cast(<0.16911.0>) -> ok
    sidejob_eqc:cast(<0.16912.0>) -> ok
    sidejob_eqc:get_status(<0.16912.0>) -> blocked

    Reason: {postcondition, {blocked, '/=', overload}}