Check swift.conf MD5 with recon

I've seen several folks recently have problems with their Swift
clusters because they had different hash prefixes on different
nodes. Let's help them out by having recon check that.

Note that MD5-equality is stronger than what we need (which is
ConfigParser-equality for a particular set of keys), but this way we
don't expose the secret hash prefix and suffix across the internal
network, just the MD5 checksum of the file containing them.

Change-Id: I3af984ee45947345891b3c596a88e3464f178cc7
Load constraints from cluster info dictionary

Use constrainst from the new "swift-constraints" section of test.conf,
fall back to those found in the response to the /info API call,
ultimately falling back to the constraints module's effective
constraints.

Change-Id: Iea01c9c4b5148faa10004a240df411cbe7336a6a
Fix test-requirements.txt

mock >= 1.0 changed the behavior for iterable sideeffects. Any
exceptions in an iterable side_effect will now be raised instead of
returned.

With mock < 1.0 tests are failing, because test for the
internal client (TestSimpleClient.test_get_with_retries) use an
iterable sideeffect that raise an URLError on the first request
and pass on the second request.

Change-Id: I568b68c33ff599d7a4f590e2a0eb8caeee4b4d4e
Bring Object Auditor Coverage To 99%

Previously at 87% with 20 missing 11 partial, this additional
test code brings it to 99% 0 missing and 3 partial.  Noticed
some easy places to add coverage while working on the
Storage Policy branch.

Change-Id: I49b5b4db3341416fce1ef42811732c16d3265522
Merge "Bring Object Auditor Coverage To 99%"
setting request_node_count doesn't work

Change-Id: Ia161b872cf5ffa43c10334b42cc36d679c3adf56
Merge "Check swift.conf MD5 with recon"
Merge "Load constraints from cluster info dictionary"
Merge "setting request_node_count doesn't work"