Capability to get children compile-time info.

This commit adds a feature of compile-time introspection of aggregate types' "children".
E.g.
```d
struct MyCustomInfo(T)
{
    static this()
    {
        writeln("Registering runtime info for ", T.stringof);
    }
}

@rtInfo!MyCustomInfo class RootOfSomeRuntimeRegisteringHierarchy
{
}

class A : RootOfSomeRuntimeRegisteringHierarchy
{
}
```

Will output:
```
Registering runtime info for RootOfSomeRuntimeRegisteringHierarchy
Registering runtime info for A
```
This will need some documentation if going to be merged. I'll write it as soon as all other questions are settled.
Not in the test runner please, you can add the test in the test folder and add some make rules.