Changed Platform -> NativePlatform

Changed Platform -> NativePlatform and introduced a Platform base type
implemented by NativePlatform and JvmPlatform called Platform
Changed ToolChain -> NativeToolChain

Changed ToolChain -> NativeToolChain and introduced a new ToolChain
base type implemented by NativeToolChain and JavaToolChain
Moved requirement to open question

Since I am not sure whether we want to do this here or not
Fix compile issues
Removed DSL docs for old platform

DSL docs where unused as understand it, but if they are not, they will
be added back once we are done refactoring.