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 thought about composition vs. inheritance in this case, too. But I decided on the latter. One of the reason is that `Header` contains also the `save_as` method, which shouldn't be implemented multiple times. From the object modeling aspect, subclassing makes also more sense to me.