Add and use immutable collection helper methods
Add option to ignore specified packages

This allows users to ignore third-party packages or generated code,
e.g., Thrift.
Quick documentation for <ignorePackages>