Ignoring .build dir
Re-factoring logic into roast_state and advance_state()

- Updated roast_state with new states
- Added advance_state function
- Removed switch
- Converting all comments to ANSI C /* type */
- Replaced ELEMENT_STATE with HEAT_STATE
- Moved heat_state and fan_state logic into roast_state
- Added SERIAL define for enabling serial output
- Removed AUTOSTART functionality
- Re-organized pin, constants
- Switching from functional to C style casting
- Added missing ms_to_min prototype
- Renamed minutes to min
- Moved elapsed time to global
- Added unsigned long roast_start
- Added target set helper functions
- Re-factored state switching functions
- Moved all debug output to end of functions
Adding roast_idle() function
Adding button to advance_roast() on push

May need to deal with de-bouncing, perhaps attach an ISR
Fixing more cast issues
Updating defines
Updating comments
Using average temp across thermocouples
Printing average temp
De-bouncing advance_roast() button
Bug fixes
Adding data logger module
Replacing trailing \n with println()
Adding SD card library
Adding sample collection code

Adjusted get_temp() to poll until NaN is false. Adding math.h
library. Adding functions to calculate mean and standard deviation of an
array of data. Changed initialization of doubles to 0.0. Function
add_sample() will add a sample to the samples collection if it is not
outside our margin of error (currently either less than 10, more than
500, or more than 5 standard deviations away from the mean), otherwise
it repeats the prior sample as filler. In loop(), internal_temp is
calculated as the mean of the samples. In setup(), the samples array is
filled with current temperature data.
Adding time button

When pressed, adds ten seconds to the roast time
Bug fixes

Initial states set to COUNT so initial call to idle() functions executes
properly. get_temp() fixed with a do while so it reads until no
error. No longer prints individual temps. Fixing setup() so that SD card
error doesn't exit function, just sets log flag to false.
Fixing calculate() functions, sending them SIZE

Getting size of array wasn't working, now just sending a size since we
have it (SAMPLE_SIZE).
Changing pin numbers

Makes more sense now, plus had to give up 11-13
Fixing SD Card initialization and log file writing