Allow setting individual breakers to "noop" breakers

This adds a NoopCircuitBreaker, and then adds the dynamic settings
`indices.breaker.fielddata.type` and `indices.breaker.request.type`,
which can be set to "noop" in order to use a breaker that will never
break, and incurs no overhead during computation.

This also refactors the tests for the CircuitBreakerService to use
@Before and @After functions as well as adding settings in
ElasticsearchIntegrationTest to occasionally use NOOP breakers for all
tests.
It seems like the settings be set here are the exact same as in `teardown()`.  Perhaps this could be in a `reset()` function called in each?  I'm just worried if this must be changed in the future, it could be accidentally changed in one method but not the other.