initial button implementation
changed on_m_code and off_m_code to strings to avoid needing to do an itoa
added M and \r\n to Button's on_m_code and off_m_code members
added comments to Button::button_tick()
Merge branch 'edge' into button
added ButtonPool to Main.cpp
renamed the Player module to Conveyor
renamed all references to the Player module to Conveyor
moved play command into the new utils/Player module from SimpleShell, also added a configable on_boot.gcode and added SimpleShell as a member of kernel
Merge branch 'edge' into button
Merge branch 'edge' into button
cleaned whitespace
Merge branch 'edge' into onboot

Conflicts:
	src/libs/Kernel.cpp
	src/libs/Kernel.h
	src/modules/robot/Block.cpp
	src/modules/robot/Block.h
	src/modules/robot/Conveyor.cpp
	src/modules/utils/simpleshell/SimpleShell.cpp
	src/modules/utils/simpleshell/SimpleShell.h
Merge branch 'edge' into onboot
Merge branch 'edge' into button
preparing Button for modern edge
make usbserial handle \r the same way the other serial inputs do
got things working with current edge
added button normal_state
Merge pull request #123 from logxen/button

Button