[WIP] reorged the Crc code to not optimize away for unit tests, providing coverage for each self test.

* broke the nonVs test framework [WIP: build still works]
* moved the CRC_SELFTEST define to the header file
* moved the define BOOL to bool.h
* wrote tests.
* guarded the CS_UNITTESTING and added it to the build defines
fixed the nonVS test build