Expand .gitignore file to exclude user settings

Taken from GitHub's gitignores repo [1] this ensures that all user
specific xcode files are ignored, along with a bunch of other stuff that
Apple likes to generate which doesn't need to be stored in git.

[1] https://github.com/github/gitignore/blob/master/Objective-C.gitignore