Add a .gitignore file to avoid seeing or checking in binaries

Here's a helpful little thing to do, which is to exclude certain file types and filenames that we never want to see make it into version control.

The first line starts with an exclamation point because we don't want to ignore the .gitignore file.  (Files beginning with periods are ignored by default, and hidden in directory listings by the OS also.)

Then we say don't track .o or .a files, or when someone has copied a Makefile into the src or test directory, or the test executables.  Should be a little bit of a help, feel free to add some more if you notice files that should-not-be-checked-in on other platform builds.