Allow link-time and run-time GC configuration

followup of #817:
- updated comments
- allow disabling command line processing through variable override at link time 
- allow enabling environment processing through variable override at link time 
- allow adding configuration option at link time 
- change environment var to DRT_GCOPT
- change default of maxPoolSize to 64
> Well it's not really complicated and you can declare extern D functions in one module while defining them in a different module, all completely type safe. 

It's 
```
    import core.internal.traits : externDFunc;
    alias drtConfigOption = externDFunc!("rt.config.drtConfigOption", string function(string));
```
which is not completely intuitive. But maybe acceptable. As the function isn't actually used anywhere yet, going with this should be fine.

> Of course you can also import and use the declaration.
> As those are runtime option they have no place in core, maybe in core.internal.

Even though an rt feature, core modules might use it (e.g. core.thread), and these might be imported from user code. A function local import of rt.config should do no harm there, too.