changed private members to protected for extendibility

via a PR from pravindahal that I can't seem to merge cleanly
added support to define a custom regexes file
adding support for pretty print when using PHP 5.4+

via @skyzyx
refactored the test suite
adding a simple end of line to clean up JSON results
updating version number to 2.1.0, adding credits, & noting changes