Improved the interface of various classes.

Instead of "1" and "0" for the value, it will now accept and return :high and :low

Instead of "in" and "out" for the direction, it will now accept and return :in and :out
Add a .gitignore to ignore compiled files
Add experimental class to control PWM engines