Refactorings in Preparation to Framework Support

Before everything else gets merged, I would like to get these changes in.

Those reduce ambiguties in preparation to framework support by getting rid of the attribute name `library` instead of that attributes are now named consequently on base of their class names:
* `PBXNativeTarget` →  `native_target`
* `Target` →  `target`

These change don't incorporate the Hooks-API so far, so it shouldn't break backwards-compatibility.
I agree that this is a case where inheritance is actually the correct solution.