Add DependentConfiguration.builder (and tests)

The bit I'm not happy with is listAttributesWhenReady - this is quite complicated, and in the builder subsequent calls to readiness, postProcess and abortIf won't work. Should I just remove `listAttributesWhenReady` from the builder?

I haven't deprecated any of the `attributeWhenReady` methods. I'm tempted to deprecate some of `valueWhenAttributeReady` and `attributePostProcessedWhenReady` variants - those do pretty much the same thing but with different naming conventions.

@ZaidM can you take a look at this to see if it looks useful for your https://github.com/cloudsoft/brooklyn-openmpi?