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.
It's just the Scala style :)
To be honest, `return` is just a Java leftover in Scala. As the last expression is what gets returned, `return` is, to my knowledge, never needed.