Fix indent inside linkage declaration and namespace blocks.

* Namespace block content was supposed to be indented twice.
* Linkage specification block were supposed to be indented: this is often not
practical, since this is used in code compatible with both C and C++, and C
indent is most often used while the linkage spec is in #ifdef block.
* Add options to indicate namespace blocks should not indent (default: true).
* Add options to indicate linkage specification blocks should indent (default:
false).
Also check if declarations are properly indented.
Check indentation of case/default keywords in switch.