Ruby Rogues feedback

Ruby Rogues recently did a [code reading of dotenv](https://www.youtube.com/watch?v=lKmY_0uY86s). It was really interesting. Unless you are one of the 5 people in the world that are as fluent in Ruby as @JEG2, there are definitely some interesting things to learn from it.

Most of their constructive criticism was around the `Dotenv.with` method, which is an internal helper that was added in c11eb70646cd44a58b62fa15205a3ce2336f2331 just to remove some duplication. This attempts to fix some of their gripes.

/cc @JEG2 @cmaxw @dbrady
They spent a lot of time discussing the use of `#inject`. While I completely understand their arguments and the historical context that they come from, I still find `#inject` to be the easiest way to accomplish the goal of reducing an enumerable down to a hash. They suggest using `#each_with_object`, introduced in Ruby 1.9, but not only do I find it to be a long and ugly name, dotenv still technically supports Ruby 1.8.

However, because I value readability over elegance, and this caused them to trip up, I changed it to create a hash first and merge the result of each filename in. I think this more clearly communicates the intent of always returning a hash of all of the loaded environment variables.