Relaxed some JSHint rules, fixed code for linter

JSHint modifications:

- Added `"expr": true` to allow expressions like `options || (options = {});`
- Changed `curly`to false for single-statement if blocks without curly braces
Updated build