168 correct caching for multiple schemas with same namespace

When multiple Schema files have the same namespace the current caching key generation in AbstractParserContext causes only one of the schema's to be actually parsed and loaded. This fix uses part of the schemaLocation in the cache key, so that multiple schema's with the same namespace are each parsed and loaded.

This fix is heavily biased on schemaLocation being a local file system path. The cache key generation needs to be checked for correct behavior when the schemaLocation is a URL, ... .