CONTRIB-4145 Update to PHP CodeSniffer 1.4.4
CONTRIB-4145 Switch to new way to specify ignores.

For PHP CodeSniffer 1.4.x and upwards, they way to
specify ignores has changed. It used to be an array
of paths as values. And now it's an array of paths
as keys, with values being "absolute" or "relative".

This commit mimics the conversion performed by the CLI.php,
converting all the to absolute. And seems to work.
CONTRIB-4144 Add CHANGES.txt, for better tracking of modifications.
CONTRIB-4149 Add PHPCompatibility standard.

This is finally being copied there, losing
connection with origin: git://github.com/wimg/PHPCompatibility.git

So, from time to time, we'll need to look for
changes there. If we are doing that for the whole
CodeSniffer, no reason for doing the same for this.
CONTRIB-4149 Add the phpcompatibility sniffs to moodle std.

Note this leads to some errors / warnings duplicated because
we have already the DeprecatedFunctionsSniff working, but it's
dependent of the PHP version being used, while the phpcompatibility
sniffs aren't. And better get some twice than miss them.
CONTRIB-4149 Update CHANGES.php with phpcompatibility info.
CONTRIB-4149 Improve define/defined handling

This avoids zillions of unnecesary findNext() calls, that
for big files have a very negative impact. Instead, let's
handle it progresively (current token).
CONTRIB-4151 Make standards/sniffs easily testable.