MDLSITE-2102 - support jshint checking of javascript

Since it reports in checkstyle format we can use existing reporting
mechanisms.
MDLSITE-2102 exclude built yui directories from jshint checks
MDLSITE-2102 add extrapath for node environment
MDLSITE-2102 fix broken 'good' hash..
MDLSITE-2003 - php syntax checker

To avoid syntax erors in the codebase. Note that this just runs lint
against the current state of the files in the codebase. We could do
something cleverer with git to checkout the contents of the file from
each commit, but in the end this way is simpler and doing less work and
checks the current state of the repo - so its probably no bad thing.

Also detect BOM characters (thanks to Matteo for the suggestion)