Add a proper gitignore

Directories and files for mac and linux still need to be added to this,
but it's a start.