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.
Do you want mutability or immutability?  I'm guessing the latter...  Would it be suitable to pass a Boolean to `newFrontend`, or should this be something more enum-like (along the lines of `RecorderMode`?