fleshed out the gitignore rules
moved several mutli-referenced values to constants for maintainability