bugfixes for Job#remove and multi-attempt event emitting; introduction of new max_attempts event

1. bugfix: removes log information from redis in Job#remove

2. bugfix: jobs were being removed from events job map when emitting any message except "progress".  So if you had a job that was designed to attempt more than once, the first "failed" message would remove the job from the events job map, and any subsequent messages emitted to the job - "complete", for instance - would not be sent.  Now a job is explicitly removed from the events job map in the Job#remove function.

3. Emits a "max_attempts" message to the queue and a job when it has reached its attempts limit. This is different from the "failed" message, which is emitted each time a worker process fails.