ignore node_modules and simplify ignore rules a bit
diff --git a/.gitignore b/.gitignore
index f924577..eabb198 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,7 +4,6 @@
*.o
*.deps
*.libs
-gen-*
*.log
*.trs
*.suo
@@ -18,27 +17,24 @@
*_ReSharper*
*.opensdf
*.swp
+*.m4
+*~
+gen-*
+Makefile
+Makefile.in
+autom4te.cache
+node_modules
+
.project
.pydevproject
.sonar
.DS_Store
-/Makefile
-/Makefile.in
/contrib/.vagrant/
-/aclocal/libtool.m4
-/aclocal/ltoptions.m4
-/aclocal/ltsugar.m4
-/aclocal/ltversion.m4
-/aclocal/lt~obsolete.m4
-/aclocal.m4
-/autom4te.cache
/autoscan.log
/autoscan-*.log
/compiler/cpp/Debug
/compiler/cpp/libparse.a
-/compiler/cpp/Makefile
-/compiler/cpp/Makefile.in
/compiler/cpp/src/windows/version.h
/compiler/cpp/thrift
/compiler/cpp/thriftl.cc
@@ -50,20 +46,12 @@
/configure
/configure.lineno
/configure.scan
-/contrib/fb303/Makefile
-/contrib/fb303/Makefile.in
-/contrib/fb303/aclocal.m4
-/contrib/fb303/autom4te.cache/
/contrib/fb303/config.cache
/contrib/fb303/config.log
/contrib/fb303/config.status
/contrib/fb303/configure
-/contrib/fb303/cpp/Makefile
-/contrib/fb303/cpp/Makefile.in
/contrib/fb303/cpp/libfb303.a
/contrib/fb303/java/build/
-/contrib/fb303/py/Makefile
-/contrib/fb303/py/Makefile.in
/contrib/fb303/py/build/
/contrib/fb303/py/fb303/FacebookService-remote
/contrib/fb303/py/fb303/FacebookService.py
@@ -71,13 +59,7 @@
/contrib/fb303/py/fb303/constants.py
/contrib/fb303/py/fb303/ttypes.py
/depcomp
-/if/Makefile
-/if/Makefile.in
/install-sh
-/lib/Makefile
-/lib/Makefile.in
-/lib/cpp/Makefile
-/lib/cpp/Makefile.in
/lib/cpp/Debug/
/lib/cpp/Debug-mt/
/lib/cpp/Release/
@@ -85,8 +67,6 @@
/lib/cpp/src/thrift/qt/moc_TQTcpServer.cpp
/lib/cpp/src/thrift/config.h
/lib/cpp/src/thrift/stamp-h2
-/lib/cpp/test/Makefile
-/lib/cpp/test/Makefile.in
/lib/cpp/test/Benchmark
/lib/cpp/test/AllProtocolsTest
/lib/cpp/test/DebugProtoTest
@@ -112,12 +92,8 @@
/lib/c_glib/*.gcda
/lib/c_glib/*.gcno
/lib/c_glib/*.loT
-/lib/c_glib/Makefile.in
-/lib/c_glib/Makefile
/lib/c_glib/test/testwrapper.sh
/lib/c_glib/test/testwrapper-test*
-/lib/c_glib/test/Makefile
-/lib/c_glib/test/Makefile.in
/lib/c_glib/test/testbinaryprotocol
/lib/c_glib/test/testbufferedtransport
/lib/c_glib/test/testdebugproto
@@ -131,15 +107,9 @@
/lib/c_glib/test/testtransportsocket
/lib/c_glib/thriftc.pc
/lib/c_glib/thrift_c_glib.pc
-/lib/csharp/Makefile
-/lib/csharp/Makefile.in
/lib/csharp/src/bin/
/lib/csharp/src/obj/
/lib/d/libthriftd.a
-/lib/d/Makefile
-/lib/d/Makefile.in
-/lib/d/test/Makefile
-/lib/d/test/Makefile.in
/lib/d/test/serialization_benchmark
/lib/d/test/transport_test
/lib/d/unittest/
@@ -178,51 +148,26 @@
/lib/erl/test/*.hrl
/lib/erl/test/*.beam
/lib/hs/dist
-/lib/hs/Makefile
-/lib/hs/Makefile.in
-/lib/go/Makefile
-/lib/go/Makefile.in
-/lib/java/Makefile
-/lib/java/Makefile.in
/lib/java/build
/lib/js/test/build
-/lib/js/test/Makefile
-/lib/js/test/Makefile.in
-/lib/nodejs/Makefile
-/lib/nodejs/Makefile.in
/lib/nodejs/node_modules/
/lib/perl/MANIFEST
/lib/perl/MYMETA.yml
-/lib/perl/Makefile
-/lib/perl/Makefile.in
/lib/perl/Makefile-perl.mk
/lib/perl/blib
/lib/perl/pm_to_blib
-/lib/perl/test/Makefile
-/lib/perl/test/Makefile.in
-/lib/py/Makefile
-/lib/py/Makefile.in
/lib/py/build
/lib/py/thrift.egg-info/
/lib/rb/Gemfile.lock
-/lib/rb/Makefile
-/lib/rb/Makefile.in
/lib/rb/debug_proto_test
/lib/rb/.config
-/lib/rb/ext/Makefile
/lib/rb/ext/conftest.dSYM/
/lib/rb/ext/mkmf.log
/lib/rb/ext/thrift_native.bundle
/lib/rb/ext/thrift_native.so
/lib/rb/test/
/lib/rb/thrift-*.gem
-/lib/php/Makefile
-/lib/php/Makefile.in
-/lib/php/src/ext/thrift_protocol/Makefile
/lib/php/src/ext/thrift_protocol/Makefile.*
-/lib/php/src/ext/thrift_protocol/acinclude.m4
-/lib/php/src/ext/thrift_protocol/aclocal.m4
-/lib/php/src/ext/thrift_protocol/autom4te.cache/
/lib/php/src/ext/thrift_protocol/build/
/lib/php/src/ext/thrift_protocol/config.*
/lib/php/src/ext/thrift_protocol/configure
@@ -238,57 +183,25 @@
/lib/php/src/ext/thrift_protocol/thrift_protocol.la
/lib/php/src/ext/thrift_protocol/tmp-php.ini
/lib/php/src/packages/
-/lib/php/test/Makefile
-/lib/php/test/Makefile.in
/lib/php/test/phpunit.xml
/lib/php/test/packages/
/lib/erl/logs/
-/lib/erl/Makefile
-/lib/erl/Makefile.in
-/lib/erl/src/Makefile
-/lib/erl/src/Makefile.in
/libtool
/ltmain.sh
/missing
/stamp-h1
-/test/Makefile
-/test/Makefile.in
-/test/cpp/Makefile
-/test/cpp/Makefile.in
/test/cpp/StressTest
/test/cpp/StressTestNonBlocking
/test/cpp/TestClient
/test/cpp/TestServer
-/lib/go/test/Makefile
-/lib/go/test/Makefile.in
/lib/go/test/gopath/
/lib/go/test/ThriftTest.thrift
-/test/hs/Makefile
-/test/hs/Makefile.in
/test/log/
/test/test.log
-/test/nodejs/Makefile
-/test/nodejs/Makefile.in
-/test/perl/Makefile
-/test/perl/Makefile.in
-/test/php/Makefile
-/test/php/Makefile.in
-/test/py/Makefile
-/test/py/Makefile.in
-/test/py.twisted/Makefile
-/test/py.twisted/Makefile.in
/test/py.twisted/_trial_temp/
/test/py.twisted/test_suite.pyc
-/test/py.tornado/Makefile
-/test/py.tornado/Makefile.in
/test/py.tornado/*.pyc
/test/rb/Gemfile.lock
-/test/rb/Makefile
-/test/rb/Makefile.in
-/tutorial/Makefile
-/tutorial/Makefile.in
-/tutorial/cpp/Makefile
-/tutorial/cpp/Makefile.in
/tutorial/cpp/TutorialClient
/tutorial/cpp/TutorialServer
/tutorial/delphi/*.dsk
@@ -299,28 +212,12 @@
/tutorial/delphi/DelphiClient/*.identcache
/tutorial/delphi/DelphiServer/*.identcache
/tutorial/delphi/DelphiServer/*.local
-/tutorial/go/Makefile
-/tutorial/go/Makefile.in
/tutorial/go/go-tutorial
/tutorial/go/calculator-remote
/tutorial/go/src/shared
/tutorial/go/src/tutorial
/tutorial/go/src/git.apache.org
-/tutorial/java/Makefile
-/tutorial/java/Makefile.in
/tutorial/java/build/
-/tutorial/js/Makefile
-/tutorial/js/Makefile.in
/tutorial/js/build/
-/tutorial/nodejs/Makefile
-/tutorial/nodejs/Makefile.in
-/tutorial/py.twisted/Makefile
-/tutorial/py.twisted/Makefile.in
-/tutorial/py.tornado/Makefile
-/tutorial/py.tornado/Makefile.in
-/tutorial/py/Makefile
-/tutorial/py/Makefile.in
-/tutorial/rb/Makefile
-/tutorial/rb/Makefile.in
/ylwrap