Use relative file path when matching with ignore patterns

Currently the full, absolute path of a file is matched with the ignore
patterns, which makes it difficult to specify patterns to ignore
specific directories in a reusable way.

For example when running phpcs on a Drupal-based project located at
"/home/cyberwolf/myproject/", you'd like to ignore the "includes"
directory in the root of your project, because it contains Drupal core
code. However, other non-core directories can contain a directory
called "includes" as well, which you do not want to ignore while
scanning, for example
"/home/cyberwolf/myproject/sites/all/modules/foo/includes". Currently,
to accomplish this, an ignore pattern with the absolute path needs to
be specified, for example "/home/cyberwolf/myproject/includes". This is
not reusable on other systems where the project might be checked out at
another path. Specifying "includes" would lead to phpcs also ignoring
"/home/cyberwolf/myproject/sites/all/modules/foo/includes".

This patch makes the file path being matched with the ignore patterns
relative to the directory specified for scanning, so "includes" will be
used for matching instead of "/home/cyberwolf/myproject/includes",
"sites/all/modules/foo/includes" will be used for matching instead of
"home/cyberwolf/myproject/sites/all/modules/foo/includes", and so on.
Using "^includes" as an ignore pattern now will succesfully ignore
everything in the "/home/cyberwolf/myproject/includes" dir and nothing
else.
Removing test.txt again
add "notifysend" report that uses the linux "notify-send" tool to show a popup message on your desktop
Fixed bug #19508 : switch+return: Closing brace indented incorrectly
Squiz FunctionDeclarationArgumentSpacingSniff now supports closures
Lots of refactoring to support closures and enforce the same basic checks in USE statements as function declarations use for arguments.
Squiz OperatorSpacingSniff no longer throws an error for negative values inside an inline THEN statement
Fixed changelog and PSR2 standard: both changes accidently omitted from previous commits
Fixed bug #19502 : Generic.Files.LineEndingsSniff fails if no new-lines in file
Merge pull request #38 from cyberwolf/ignore-relative-path

Use relative file path when matching with ignore patterns
Updated changelog for ignore pattern change
Rookie mistake
CodeSniffer/Reports/Summary.php
Memory usage has been dramatically reduced when using the summary report
Unit tests need to identify they are running so CLI doesnt throw errors
Significantly improved the performance of Squiz NonExecutableCodeSniff by reverting a past bug fix. This code does not appear to be required any more and really slowed this sniff down (more than doubling the time it takes to run on large files).
Removed the need to call get_class on sniffs and reduced the calls to get_class_vars. Both fns were getting called every time a sniff was about to process a token, but the values never changed so they could be cached.
Implemented a token cache so that PHPCS doesnt have to work out how to turn a raw token into an internal representation of a token over and over again.
Made the error message clearer and added unit tests
Merge branch 'master' of git://github.com/squizlabs/PHP_CodeSniffer