refactor whitespace formatting
feat #445 leading tabs detection in the code

A grunt task is added to prevent checking in unformatted files
in the future. It's very simple now, just checks for leading
whitespace being a tab instead of a space.

Close #445.