Run as non-root user

Generate a random user on each deploy and run the compile step as well as the final application with this restricted account. This should solve the problems with the permissions in the PHP buildpack and the Bundler warning in the ruby buildpack.

References:
  * #88 - security?
  * #98 - Run apps as non-root user, take 2
  * #42 - Allow apps to run without root
Run process(es) under supervision

This runs the processes defined in a Procfile using the daemontools supervisor. This has some advantages:

  * Multiple processes can be started
  * Restarting failed processes
  * Logfile rotation (defaults to 10 files of 1MB each)

Defining which processes get started and how many of each is determined by the parameter /start is being called with.

Step one is extracting a `Procfile` from `.release` if none exists. In this case `/start` defaults to running the `web` process. Otherwise it defaults to starting one of each process defined in the `Procfile`.

If `/start` is being called with a process name like `web` as parameter only that process will be started.

If `/start` is being called with a `formation` like `web=1,worker=2,clock=1` it will start 1 web, 2 worker and 1 clock process. Processes not named in the formation wont get started.

Currently starting more than 1 web process will almost certainly will wreak havoc on your container since you only have a single port to listen on.

The exporter is based in large part on [Foreman](https://github.com/ddollar/foreman) and modified to fit the needs of this special application.
Merge branch 'feature/modernize-cedarish' into test

* feature/modernize-cedarish:
  Fix installation of custom buildpacks
  Remove preinstalled custom buildpacks
  Update Authors, License and add changelog
  Remove old buildchain
  Modernize the builder
  Use flynn buildpack installer
  Switch to cedarish cedar-14 stack image
Merge branch 'feature/run-as-user' into test

* feature/run-as-user:
  Run as non-root user
  Source profile.d for interactive shell
  Add ENV_DIR support
Merge branch 'feature/supervision' into test

* feature/supervision:
  Run process(es) under supervision