Merge pull request #460 from jyates/propagate-index-errors

Small cleanup to propgate errors
Keeping a single index pool per RS

Pools are cached by name in the RSCPHost#sharedData and accessed
in a thread-safe way through the ThreadPoolManager. We ensure uniquness
across servers by tagging on the RS name to the pool name. Its a little
ugly, but makes life easier with testing.