Infinispan modularity

This is for _master_ only, I'll send different pull requests for branches 4.4 and 4.5 when this is integrated as these need a slightly different solution, but would hope to get this one accepted first.

https://hibernate.atlassian.net/browse/HSEARCH-1692

The summary of the changeset is to add

    currentThread.setContextClassLoader( InfinispanConfigurationParser.class.getClassLoader() );

before parsing the Infinispan configuration file.
> Because we use that field in a method below??

That I can see, the question is why. I see a lot of classloader fiddling here, but I don't understand what is going on.

> I don't understand were this questions are coming from, how does it relate to this PR.

It is directly related. I am trying to understand this change. The issue says "Remove workaround for ISPN-4754 when it is fixed", but I don't get which workaround got removed here. If anything the code got more complex.