Now have one continuously running program.

All required peripherals will be initiated at the same time.
Added in SPI setup code.
Moved the SPI send to the driver file.
Added checking for the echo back of the SPI.
Added better debugging for mismatch characters.
Increased the communication speed.
Made stdin pull character-by-character.
Changed to receiving each character without newline.

Looks for the exact size of the Command_t struct when not bootloading.
Made a way to quit the program gracefully.

Send CTRL+D for the command byte to quit.
Made test functions static.
Implemented retries if the device does not echo back correctly.
Merge branch 'features/all-peripherals' of github.com:deltarobot/cnc-driver into features/all-peripherals

Conflicts:
	src/main/driver.c
	src/main/main.c
Re-ordered some code for clarity.
No longer compare the old and new termios. Never works anyway.
Now pass in pipe name and it gets re-opened whenever a writer disconnects.
Added in more robust argument processing.
Only print to stderr as stdout has data.
Should now be able to reset the controller.
Got the autobaud function to work again.
Fixed a bug with finishing the bootload mode.