This commit adds support for autowired constructor parameters on Kotlin classes with optional parameters. If some constructor parameters are not available, optional parameter default values will be used instead. Both explicit @Autowired annotated constructor and implicit single constructor automatically autowired are supported. Issue: SPR-15847