Add basic JSHint support
JSHint Fixes

Mostly, these changes are simple changes to appease JSHint: unused variables, re-declared variables, missing keywords (e.g., `new`), function-scope strict mode pragmas, special-cased uses of the `boss` and `eqnull` options, missing/extraneous semi-colons.

As well, component.js had a vestigial copy of `checkSerializable()` that was removed, and base.js now has a proper copyright/license comment.
Merge commit 'f8474be5a0a273eae1c5c284951f99fbb6791c87'

Conflicts:
	package.json