Generalized math functions and added IsInRange()

Utilized float swapping to free the caller from ensuring min and max
values are not inverted.
IsInRange() checks if a value is between two values (again, order
agnostic)
Implemented Ticking System

Utilize a ticking system to track time and allow for tick-value specific
operations that are guaranteed to execute.
Updated Test mode to utilize Ticks.
Updated xxxInit() and xxxPeriodic() to use Ticks.
Watchdog feeding is now a per-tick operation.