More Scalafication

Some core classes, and required modifications.
Merge remote-tracking branch 'origin/develop-1.7.10' into develop-1.7.10