Feature/jshint

That was a pain with all the incoming merges! Most of the jshint warnings are cleaned up, just some that need a little more thought/understanding remain...

I was going to try to squash these down to a single commit but it didn't seem to work when I tried... if anyone has a particular aversion to the number of commits please help me to squash them down!

Current gulp output from `gulp lint`
```
[gulp] Using gulpfile /keystone/gulpfile.js
[gulp] Starting 'lint'...
[gulp] Finished 'lint' after 80 ms
/keystone/index.js: line 218, col 9, Bad line breaking before '?'.
/keystone/index.js: line 707, col 46, Expected an assignment or function call and instead saw an expression.
/keystone/index.js: line 777, col 28, Expected an assignment or function call and instead saw an expression.
/keystone/index.js: line 789, col 46, Expected an assignment or function call and instead saw an expression.
/keystone/index.js: line 799, col 66, Expected an assignment or function call and instead saw an expression.
/keystone/index.js: line 887, col 76, Expected an assignment or function call and instead saw an expression.
/keystone/index.js: line 1332, col 84, Expected an assignment or function call and instead saw an expression.
/keystone/index.js: line 1424, col 18, 'template' is already defined.
/keystone/index.js: line 1425, col 9, Bad line breaking before '?'.
/keystone/index.js: line 1445, col 27, Script URL.

10 errors
/keystone/lib/list.js: line 304, col 41, The '__proto__' property is deprecated.
/keystone/lib/list.js: line 826, col 29, ['$or'] is better written in dot notation.
/keystone/lib/list.js: line 851, col 20, ['$or'] is better written in dot notation.

3 errors
/keystone/lib/updates.js: line 47, col 63, Expected an assignment or function call and instead saw an expression.
/keystone/lib/updates.js: line 155, col 30, Expected an assignment or function call and instead saw an expression.

2 errors
/keystone/lib/content/page.js: line 91, col 45, The '__proto__' property is deprecated.

1 error
/keystone/lib/fieldTypes/s3file.js: line 159, col 125, Expected an assignment or function call and instead saw an expression.

1 error
```