Initial commit of a php_codesniffer fixer option.

A couple of sniffs are now fixing some parts of the code and PHPCS is creating a file called phpcs-fixed.diff with the suggested changes in it.

The patches can be applied by running: patch -ui phpcs-fixed.diff

This new code is still a mess...
Merge branch 'report-memory-improvements' into phpcs-fixer
Need to reset the error and warning counts as well, or else you get the wrong values in reports
Added new helper methods. Also no longer allowing the same token to be modified more than once each time through the file. This stops multiple sniffs trying to fix the same thing (like an indent) and looping forever.
Add some more fixes for common sniffs
Reports now accept the phpcsFile argument, allowing them to access the checked file directly
Cleanup is now done after reporting, so reports can use the file object if needed
Changed diff generation into a type of report, so the file no longer knows anything about the extra loops. It still knows about the fixer though. This also allows the diff to be printed to screen, or written to any file, or printed along with other reports. Looping no longer changes the original error report as well, so all other reports will continue to print as normal.
Whitespace is important to some reports, like diff, so don't trim
Whitespace at the end of lines is important to diffs, so use shell_exec() instead. Also removed unused method.
Added fixes for newline errors at end of file
Syncing up the local values with the ones other classes would be using
Cant act on the same token in the same run, so add newline and padding in one step. Don't skip arrays when checking either, because they need to be indented as well.
Reports are now able to get a count of fixable errors so they can disaply that count. Sniffs call a different function to add errors and warnings to indiciate that they are fixable.
Added missing end tag
The scope indent sniff already reports this error, so it has been removed
More fixable errors
Lines that are within closures, arrays etc are still checked, but exact some checks are relaxed. The biggest difference is that they must be indented to a min level, but can be indented beyond that.
Adjusted the unit test for the recent change
Some really basic and horrible looking debug output for the fixer. Also supresses debug output for subsequent parses of the file. Needs lots more work, but at least there is something.