Roo core changes to facilitate ROO-1280

Details

Description

There are a number of changes that have had to be made to Roo core in order to complete ROO-1280. These include but aren't limited to: inner types, initializers, parameter varargs, more complete import model, parsing type directly from a String, nested types.