Reduces runtime allocation by freezing string literals by default.
We could also remove a ton of manual `.freeze` calls, however the ruby supported version is 2.2 and the magic comment only targets 2.3+.
Because frameworks like rails dependent on rack, if puma truly wants to
be able to reload new code and thus new versions of rails, it has to be
able to reload rack as well.
Having a dependency on rack held by puma prevented that from happening
and so that dependency has been removed.