Added NestedStruct support [fixes #1]

Can you make `prefix` a field of EnvironmentLoader struct? We don't need to pass it around from functions to functions because it's something that defines the loader. Also later we may create a constructor like `NewEnvironmentLeader(prefix string)`