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.
Merge pull request #31 from Avinash-Bhat/cleanup/gitignore

use extension specific .gitignore
Ignore more weird things