allow function for values

This PR allows you to specify values for grunt-env keys as a function, using the returned value as the value for assignment. I have updated the README.md and the tests (all passing) to reflect this basic addition of functionality. My own practical use case was adding logging/validation to environment variables to be added, for example like this:

```js
grunt.initConfig({
  env: {
    tester: {
      MY_VALUE: function() {
        grunt.log.writeln('Setting MY_VALUE to "123"');
        return '123';
      }
    }
  }
});
```