Add tests for swift-ring-builder

Add some tests for essential methods in swift-ring-builder.
Tests for removing or changing device settings are executed
with different search values to cover many possible command
line arguments.

Currently tested methods:

- create ring
- add device
- remove device
- set weight
- set info
- set min_part_hours
- set replicas

Tests use swift.common.ring.RingBuilder to verify actions.

Catching and testing output from print statements is not
tested, because this requires redirecting sys.stdout during
tests and that might have some sideeffects for testing tools.

bin/swift-ring-builder has been moved to swift/cli/ringbuilder.py
and slightly modified to work as before (mainly due to no more
existing global variables since that part of the code has been
moved inside a main() function).

Change-Id: Ia63f59a8faca1fad990784f27532ca07a2125454
Fix a couple ifs in account quota middleware.

Unless I'm misunderstanding something, this is better/more
correct.

Change-Id: I6c62fbfdddea908a2671021a34fa25600b0dff45
Make .expiring_objects account name configurable

The account which tracks objects scheduled for deletion had its name
hard-coded to 'expiring_objects'. This is made configurable via
expiring_objects_account_name option. Backend file-systems
integration efforts may want to treat these "special" accounts in a
different way.

This would still go undocumented, hence 'pseudo-hidden'.

UpgradeImpact: None as the default value would continue to be the same
               which is '.expiring_objects'.

Change-Id: I1a093b0d0e2bdd0c3d723090af03fc0adf2ad7e3
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Merge "Fix a couple ifs in account quota middleware."
Fix a comment in bulk middleware.

Change-Id: I3a65d090c5c6ce42639e0af0fcac738a12e52252
Merge "Make .expiring_objects account name configurable"
Merge "Fix a comment in bulk middleware."
Fix a comment in SLO middleware

Change-Id: I6ef435db55eb6cac5a92d9ef0f7ac3eaf271761d
Merge "Add tests for swift-ring-builder"