Added defjob macro, and devided JobInfo to JobInfo and JobAction protocols