fixed: keep a state per section in cwc. don't mark as forbidden when only one section fails

When there are multiple sections and one of them fails to decrypt, then the whole service got marked as 'DS_FORBIDDEN'. This gets corrected a bit later when a valid ecm reply comes in after the invalid ones, but in case the invalid one comes in after the valid reply, then decryption will stop completely.

This fixes the issue by keeping a state per section.
Keep the management (updates) for td->td_keystate in cwc.c . Remove cwc_keystate() prototype from cwc.h.