Add support for running recorder in headless mode.

Fix for https://github.com/gatling/gatling/issues/1993

This suppresses the Swing UI for Gatling recorder if `-H` or
`--headless` are passed as commandline parameters.  It also creates a
'lock file' which allows external processes to:

1. know when recording has started
2. check the Process ID of the gatling recorder

This definitely leaves room for improvement:

* `HeadlessFrontEnd` might be better named as `CommandLineFrontEnd`
* method for fetching PID is possibly not cross-platform
* PID-fetching via JMX may contravene JVM security policy (seems
  unlikely to matter to anyone though)
* no HAR support (I don't know what this is)
* logging is done in a very simple way, and probably not in keeping with
  other parts of the code

Work done pairing with @guykoth.
Immutability is always preferable when possible, which is the case here ;)
I think that a boolean would suffice : I don't think there would be another mode of operation other than Swing or headless, unlike Recorder modes (we could always add support for another format to convert to a Gatling simulation, like we did with HAR).