agree on a consistent coding style and add eslint to enforce it

Now, that grunt has been introduced, I'd love to enforce a consistent coding style in the project. Therefor I added a minimal setup of eslint. This can be run manually with `grunt eslint`. At the moment, it produces 1k of errors ;D Basically this is not a big deal, but I wanted to get this PR out early and before fixing all the issues.

So, what I need is a configuration of eslint to fix it against. Please check out this configuration, check the errors and tell me, what is okay and what not. I will add my preferences (with some explanations) in a minute.

**Please do not merge, until all ToDos are marked "ready"**

### ToDo

- [x] agree on a eslint configuration
- [x] add eslint to default grunt task
- [x] fix all the issues
- [x] if #83 gets merged, rebase to it. grunt config should be clean