Test for non-executable files with execute bit set.

* Install a build check to avoid regressions.
Flake8 already checks for NL at EOF (W292).
Remove execute flag from non-executable files.

* Targeted file extensions
  cpp, css, eot, html, jpg, js, json, less, map, md, png, scss, ttf, txt,
  yml, woff
* Other files:
  LICENSE, README
Merge pull request #568 from Renelvon/no_exc

[WIP] Remove execute bit from non-executable files. Install relevant build check.
Unit tests for node/contact.py.
Refactor Contact.

* Simplify __eq__ and derive __ne__ from __eq__.
    Implementing both __eq__ and __ne__ is redundant and error prone.
    One of them should be derived from the other, to guard against
    subtle errors.
* Implement __repr__ and derive __str__ automatically.
    Implementing __str__ but not __repr__ is considered bad practice,
    and makes debugging a bit awkward, because Python drops in a default
    replacement for the missing __repr__. However, if only __repr__ is
    implemented, then it will be used for both repr and str calls.
* Remove execute flag of node/contact.py.