JSHint for ES6
Pass JSHint

This implies:

* removing arrow functions with default arguments (currently causing an
  "undefined variable" error with JSHint),
* prohibiting the usage of escaped backticks in string templates, since
  JSHint don't understand the escaping and thinks the string is ended,
  causing a lot of errors on the whole line, so I used double quotes
  instead, because they don't need escaping in both single quoted
  strings and backticks,
* remove non-breaking spaces in code,
* replace `== undefined` by `=== undefined` (now `null` won't be matched),
* adding or removing semicolons,
* removing unused variables (mostly `require` calls),
* importing required dependencies (`path` module in two files).