HV-637 Updating readme and pom

Adding new hv-5.1 profile, updating bval version, improving the way profiling is enabled, updating the documentation
HV-637 Improving caching in message interpolation

Now the tokenized message strings are cached as well. Also caching is done using ConcurrentReferenceHashMap with soft references to avoid memory leaks.

Renaming of ParserContext and MessageDescriptorParser to TokenCollector and TokenIterator to better reflect their use
HV-637 Pre-calculating the hash code for some instances which are immutable
HV-637 Formatting and some minor cleanup
HV-637 Renaming SingleThreadCachedTraversableResolver to CachingTraversableResolverForSingleValidation
HV-637 Avoiding putIfAbsent() calls if cached messages were found; Fixing some typos/formatting issues;
HV-808 Fixing Mod11 Check and CPF Constraint

The the method mod11 used for CPF is giving false positives, accepts
invalid check digits as valid.
That happens because the check digit is being used in the checksum, this
can create a condition where the digit validates it self.

The exclusion patterns are missing some other known cases, all document
number that is composed only by the same digit is a invalid document
that passes the Mod11 check, not only those composed by only zeros or
nines.
HV-808 Passing the digits to check and the check digit explicitly to the ModUtil methods

Adding explicit comment about the assumption the mod11 algorithm makes