Add auto-resolution capability

This allows type hinted constructor params, that do not have explicit DI values, to receive new instances of their type hinted classes. It also allows explicit auto-resolution of type hints to a specific class or service. Incidentally, params type hinted to `array` will receive empty arrays when no explicit value is passed.
/me nods

Yeah, totally open to other names here. I thought about various combinations of "auto" and "typehint" and "resolve" as well, but nothing really seems to capture the idea.