event_server: use processes for storing job events.

Instead of storing the events of the jobs in the status of the event_server, we
create one job_event process for each job and delegate the responsibility of
handling the job events to these processes. All of the operations still go
through the event_server, therefore, it is still a bottleneck.
event_server: add a function for getting the pid of the job_event_handler.

This handle can be used to directly query the job_event_handler (without going
through the event_server).
event_server: Move some more per-job stats to job_event.
job_event: clean up the code.
event_server: move the task_event to the job_event module.

Now these messages will not cause problems for the main event_handler. Although,
these messages still have to be sent from the slaves to the master.
job_event: fix a typo in the name of event_server module.
job_event: close the event file when done

When the job is done, we don't have to keep the job event log file open because
there will be no more events added to this job.
evnet_server: move the pending events to the job_event module.
disco_server: use job_event directly for sending events

Instead of going through the event_server, the disco_server can send the event
directly to the job_event_handler.
Merge pull request #561 from pooya/job_event

Job event