Recognize JSHintIgnore (resolves #22, #81)

Parsed files are cached for performance
Clear errors if file is added to JSHintIgnore