Reporting correct column for JavaScript extracted from HTML files

SublimeLinter reported that for JavaScript extracted from HTML the columns reported with the
errors are incorrect. Because the leading whitespace is stripped, we lose the true character position.
Their issue: https://github.com/SublimeLinter/SublimeLinter-jshint/issues/30

Here is a sample test case
```
<!DOCTYPE html>
<html>
<head></head>
<body>
    <script type="text/javascript">
    /*jshint indent:4*/
    function foo(){
      var bar;
    }
    </script>
</body>
</html>
```
2.4.3 reports column 2 for `var bar`, but it should be 6.
I fixed the column reporting by computing offsets and adding them to the reported columns before sending the error list to the reporter. The offsets are computed only if there are lint errors. A couple of unit tests are included.

Note: this adjusts the character property of the error, but not the message. The message still reports incorrect information.