Cast StringChecker maxErrors property to Number the first time

In max-errors.js, Object.defineProperties cast the config maxErrors property to Number
but not the StringChecker maxErrors property.

This leads to a bug if multiple jscs checks are executed using the same config object
(config.maxerrors will equal 'undefined' the first time, and 'NaN' the second time)
StringChecker: unit test for when maxErrors is NaN

Closes gh-688
Closes gh-687