Moving all annotations from the core to the Java API package

I created a ```SemanticProperties``` class (and children for SingleInput and DualInput operators) in the core package, so the properties inferred currently from Java annotations can be stored (this follows a discussion with @StephanEwen and @aljoscha).

With this commit and commit in #448, all the annotations have been moved from the core to the Java API package.