PUP-2040 Add .pmtignore functionality

This adds new functionality to the PMT build command. When a .pmtignore file is present, it will be read during build and any files matching the gitignore-style patterns in .pmtignore will be not be copied in to the build tarball. If .pmtignore isn't present, but .gitignore is, that will be used. If neither is available, nothing aside from our standard set of 'artifacts' will be ignored.
Yes this is a ton of copypasta and should be cleaned up. Sorry about that.