Clean up most JSHint errors

Hello

I saw that there are some JSHint errors and took it to clean the up.

What's remaining are variables that were never used:

```
Linting test/mocha/article/model.js ...ERROR
[L5:C8] W098: 'app' is defined but never used.
    app = require('../../../server'),
[L25:C35] W098: 'err' is defined but never used.
            user.save(function(err) {
Linting test/mocha/user/model.js ...ERROR
[L5:C8] W098: 'app' is defined but never used.
    app = require('../../../server'),
Linting app/controllers/articles.js ...ERROR
[L48:C30] W098: 'err' is defined but never used.
    article.save(function(err) {
Linting app/controllers/index.js ...ERROR
[L4:C13] W098: 'mongoose' is defined but never used.
var mongoose = require('mongoose');
Linting app/controllers/users.js ...ERROR
[L10:C47] W098: 'next' is defined but never used.
exports.authCallback = function(req, res, next) {
Linting app/models/article.js ...ERROR
[L5:C11] W098: 'config' is defined but never used.
    config = require('../../config/config'),
```

I thought it could be convenient to live the variables there even though they aren't used.

Also remove es5 in JSHint as this is a deprecated options.