Add compiler warning flags to CMakeLists.txt.

This commit adds a conditional check for the compiler and adds
appropriate warning flags for it.
Revert "Access bits in the reverse order."

This reverts commit efe175b0221091722fba0590f9f1c6f159c3a82a.

The correct order to access each bit is arbitrary; the commit in
question was conforming to big endian systems. This distinction is
meaningless, and only added more complexity to a performance critical
algorithm.

Reverting this commit accesses each bit little endian, i.e. the least
significant bit is read first.
Comment the GET_BIT() macro.