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 Cleanup of test
HV-637 Formatting
HV-637 Renaming SingleThreadCachedTraversableResolver to CachingTraversableResolverForSingleValidation