extended field setter for hierarchical operation

Enables to use a class hierarchy for config classes.

```java
class Config {
   @PropertyValue("a")
   private String someString;

   public void getSomeString() {
       return someString;
   }
}

class TestConfig extends Config {
   @PropertyValue("b")
   private String otherString;

   public void getOtherString() {
       return otherString;
   }
}
```
As an example, one can use an extended ```testConfig``` object created via
```java
TestConfig testConfig = ConfigBuilder<TestConfig>(TestConfig.class).build();
```
in order to supply extended config information to mock objects injected into an application during test runs.

A hierachical mapping of class annotations is not yet implemented, but should be possible as well.

The tests overriding System.out with null were fixed as well.