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-1678