Astyle coding style.

This pullrequest contains a script which uses astyle (http://astyle.sourceforge.net/) to format and indent the source code all the same way.

The changes in the files are 
  * whitespace conversions to tabs
  * indentation of some constructor init lists and 
  * switch case blocks have also been indented.

This PR changes a lot of files, so it may create merge conflicts, so it's maybe not a good idea to pull immediately, but when there is low activity of other coders, maybe after 0.18.
Using the script of the first commit makes it easy to recreate the second commit with no cost.

We can of course discuss the style (i.e. the parameters of astyle) as well before applying it.