API - Remerge

Remerging the API commits to the online master branch
API - Remerge part II
GITIGNORE - Added the gitignore
GITIGNORE - Delete Mac crap