WIP: Add experimental Puma support
This adds experimental support for Puma (hidden behind an environment variable). This allows us (and other users) to test Puma again without affecting those that want to keep using Unicorn for the time being.
Related to gitlab-org/gitlab-ce#3592