refactoring and load() method return values check for successfulness

load() returns true no matter what, which makes it impossible to check if he actually succeeded or not. Plus added getters and setters for .env naming for wider configurability. Covered with tests.
looks like this function is only used for testing. I don't like doing this because whenever you refactor, you're not going to see it used in your actual code and quickly remove it only to see a bunch of tests break. Since `_loadEnvDotEnvironment` uses a variable that's editable from the tests (`process.env. NODE_ENV`), you could set that to something that doesn't exist to force a bad load.