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 think, we can make strong assumptions about the empty lines in the generated files. This here, is the way which avoided to alter any existent spec. Because it is only about whitespaces, we can alter them probably.
Two things to keep in mind:
* a missing "newline at end of file" cause ugly diffs with git
* additional empty lines are removed by some editors in their default configuration