e6 issue 344 - change and cleanup for proper handling of the different debug output choices

1. Modified config.in to really reflect the mutual exclusive options for debug output.
2. Modified debug.{c,h} to not generate superfluous code if no USART is uses and to compile without errors for controllers without USART.
3. Modified usart-config.sh to properly detect zero USARTs if a controller has none.
4. General cleanup of #include-directives.

This patch introduces new config symbols. Please regenerate your profiles.

Review and comment please.