Move double functionality in a single function

Compression and expansion is build up into 3 parts: a) Process single index symbols until cbn becomes zero; b) Do block processing by reading or writing 8 index symbols at a time (thus saving cbn calculations); and c) process the lasts (less than 8) index symbols.

Well a) and c) have the same processing. For compression and expansion that functionality is moved to a single function. Making cmpsc.c shorter and faster.