Coding style adjustments

* Add space between function keyword and parentheses
* Add missing "use strict" statements
* Add parentheses around immediate function calls
* Add parentheses around regular expressions if slashes could be
ambiguous
* Add JSHint and JSLint Maven plugins
Fix multiple issues found by JSHint which could have lead to side
effects
Filter properties inside of for-in loops with hasOwnProperty