Implemented autowiring of service dependencies using reflction.

This functionality can also be used to call arbitrary functions or instantiate arbitrary classes with an attempt to resolve their parameters using the container's services.