Add gitignore for hidden files and site folder

Summary: The repository was not ignoring vim swapping files nor was it
ignoring the desktop hidden services store files which osx creates.
This diff creates an ignore file and ignores both of those file types.
Additionally since we don't want to checkin the actual generated site
this adds an ignore around that folder so it doesn't get checked in
accidentally.

Test Plan: Modify some files within the repository and then do a git
status with vim still open. It should show both .swp files and
.DS_Store files as not staged for commit. Build the site and then run
git status and you should see the _site folder included in the unstaged
commits.  Add the gitignore file and rerun the status and all of the
above listed files should not show up.