fire an event on Queue when all jobs are done

I recommend we use promises via kriskowal/q to simplify the three levels of callbacks

this change closes LearnBoost/kue/issues/149