Add .gitignore file

Add all the common files that do not need to be on the repo including
compiled source, packages, os generated files, and IDE specific files.