Remove trailing white spaces and tabs

Generated with:
find . -type f -and -not \( -name "*.o" -or -name "*.exe" -or -name "*.hi" \) \
| grep -Ev "\.git/|dist/" | xargs -n1 sed -e 's/[ \t]*$//' -i
Convert tabs to spaces.

First this command was run:
find . -type f -and -not \( -name "*.o" -or -name "*.exe" -or -name "*.hi" \
-or -name "Makefile"\) | grep -Ev "\.git/|\.git$|dist/" | \
args -n1 sed -e 's/[\t]/    /g' -i

Then the affected files were edited manually trying to match the coding
style in each file.
Merge pull request #56 from olajep/trailing-white-spaces

Remove trailing white spaces and convert tabs to spaces