Updated gitignore. Ignored source file by mistake. 
Also generalized some rules.
Added missing source file as result of faulty .gitignore