use extension specific .gitignore

use the parent .gitignore to ignore the general stuff, and
the project specific ignore should be done in their respective
.gitignore.

This will prevent the root gitignore from being overwelming, while
letting us to rename the respective project if needed without worrying
about what will get ignored afterwards.