Significantly improve performance when running with a large number of cached
configurations or when running with many cached results.
This was done by splitting each configuration to have its own cache and by
encoding the cache as a binary property list instead of json.
Several public types in SwiftLintFramework have added
Location, RuleDescription, RuleKind, StyleViolation, SwiftVersion,
Print full relative path to file in log output when it matches the file name
of another path being linted.