ISPN-4561 CacheManager.stop with indexing to Infinispan fails

https://issues.jboss.org/browse/ISPN-4561

As discussed, introduced a graph to store cache dependencies and enforce it at stop time, plus an API to interact with that. Query will register cache dependencies accordingly. Backporting should be straighforward.
I tried to avoid changing the stop() signature, do you think we'd be ok to backport it?
Wrt to postponing. Would you: 
1) Block on stop() and wait for other dependent caches to be stopped by someone else
2) Ignore the stop and log a message
3) Stop all the dependent caches in order and then stop the cache the user is requesting