Make project compile in Eclipse and using arm-none-eabi-g++

Turns out it is not necessary to break every file in to .h and .cpp.  All that is needed is to declare some of the variables used in each class as ```extern```, so that compiler can resolve them later.

I also had to create a header file for the main .ino file so that functions used there could be called from other classes. Finally I updated .gitignore with lots of Mac/Eclipse specific ignores.

The project now gloriously compiles in Eclipse, as well as in Arduino 1.0.6 (updated to be used with Teensy).

There are quite a few warnings that can be fixed, but that's a separate issue.

I would love for someone to test this out on Windows and/or other environments and make sure this does not break anything for the conventional Arduino IDE users.