Segregation and merge of custom rules

Currently if the config is published to add custom rules, that blocks any new rules (or changes) subsequently added to the package.

This pull request separates the "official" rules from any "custom" rules, allowing custom rules to be created in and pulled from the published config while official rules can remain in the vendor folder and be updated from the repository.

Custom rules are merged with the official rules in such a way as to allow custom rules to overwrite the official version.