Foundation cleanups (#479)

This fixes almost all method names of the Foundation framework, wraps up global values and adds Notification helper classes.

What is not (yet) fixed:
- NSHashTable
- NSExpression
- NSInvocation
- NSMapTable
- NSPointerFunctions and NSPointerArray
- NSSortDescriptor
- Various unimportant or error specific global values

Also the new NSException fix is integrated.