Add extra event metadata

Add additional metadata fields...

 * `@ingestor.service` - arbitrary input method (e.g. `lumberjack`, `syslog`)
 * `@ingestor.job` - the job name and index from whichever ingestor received the event (e.g. `ingestor/0`)
 * `@ingestor.timestamp` - timestamp the ingestor received the event
 * `@parser.job` - the job name and index from whichever parser processed the event
 * `@parser.timestamp` - timestamp the parser received the event
 * `@parser.duration` - time (ms) the parser spent parsing the message
 * `@timer.emit_to_ingested` - time delta (ms) between when the event was emitted and received by the ingestor
 * `@timer.emit_to_parsed` - time delta (ms) between when the event was emitted and fully parsed
 * `@timer.ingested_to_parsed` - time delta (ms) between when the event was ingested and fully parsed (essentially the total time logsearch was involved)

The `@timer.emit_` values make several assumptions - namely that the log emitter has an accurate time. Additionally, logs that don't provide millisecond times will generally hover ~500 ms due to `ms - s` deltas.