Advanced file excluding/including ported from git

Fixes #2048. This extends/fixes the _except/only_ options for _helpers/BaseFileHelper::findFiles()_ method to support not only file suffixes but wildcards.

The solution is ported from git (1.8.5.3, dir.c) to support same syntax as in _.gitignore_ files. Only the double asterisk (**) is not supported, because it requires the use of _wildmatch()_ function instead of _fnmatch()_.

Tasks:
* [x] comment every method
* [x] improve messages/config.php comments, include comments what is supported in patterns
* [x] add unit tests