Added constructor support for autowiring in Scala

This additions allows us to use a much better form of autowiring, allowing immutable service classes.

Instead of 

```scala
@Component
class MyService {
  @Autowired var something : SomeDep = _
  .... 
}
```

Which results in "ugly" vars and mutable state, we can now use idiomatic scala and do

```scala
@Component
@Autowired
class MyService(something : SomeDep) { ... }
```

Which allows proper immutable classes. Feedback appreciated. This is quite a common question on stack overflow.