Address race in file locking tests

It appears the intermittent failures in the linked bug are caused
by the parent process grabbing the lock after the child has
created the file but before the child has had a chance to lock it.

In order to avoid that happening, wait until the lock has actually
been grabbed, instead of just until the file is created.

This problem does not apply to the threaded test case, and a note
as to why was added in the code.

Change-Id: Icfbdc745d129a9028b2c12d0962e4621261ee111
Closes-Bug: 1357582
Fix coverage testing

Add coverage to test-requirements so that tox-e cover works - this
is part of the post jobs that are run.

Change-Id: Ie8e5cb47068baa9c05da43efca718222ab841e0a
Imported Translations from Transifex

Change-Id: Ic90ba586cdeac141f61257683ac0af47ce5fafc7
Test with both vanilla and eventlet stdlib

We intend this project's code to function both with and without
eventlet monkey patching, so we should test that way too.  This adds
a separate test run that explicitly enables eventlet and removes
the racy monkey patching that existed before.

I left the eventlet-specific unit test because it's making direct
calls into eventlet, so it is a somewhat different case from
implicitly using monkey patched classes and I'd rather leave a
redundant test than remove it and find out it covered something
the others don't.

Change-Id: Idbe9cdd90e9ce5e38b03ec1c20066928daa9ef00
Closes-Bug: 1367966
Remove hard dep on eventlet

We don't want to force users of this library to pull in eventlet,
so conditionally import it in processutils and only use subprocess
from eventlet if the stdlib is monkey patched.  eventlet doesn't
monkey patch subprocess so we can't rely on it to do that for us.

Also uses sleep from the stdlib time module since it will be
monkey patched when eventlet is in use and the right version will
be used.

Change-Id: I0df528d5ad0d67d6bbc0e7c217ef2d7fa45cce9a
Handle Python 3's O_CLOEXEC default

In Python 2, a file opened by a process was inherited by all of its
children.  Python 3 sets the O_CLOEXEC flag on the file descriptor
by default so this doesn't happen.  Because of the Python 2
behavior, our test code explicitly closes the file descriptor in
one test, but we shouldn't be doing that since it wouldn't happen
in a real usage scenario.

Fortunately, it appears both cases work in a sane fashion anyway.
With the explicit release removed from the child process, the py2
tests still run fine, and with that done the py3 tests no longer
have a problem either.  This is fortunate because if the py2
behavior allowed multiple processes to hold the lock at once it
would obviously be a Bad Thing. :-)

Change-Id: I133334dee068984b1309180c5338ac19d9934274
Support building wheels (PEP-427)

Universal is used to identify pure-Python module(by bdist_wheel). For
these, it is sufficient to build a wheel with _any_ Python ABI version
and publish that to PyPI (by whatever means).

Change-Id: I25af4512f3e7198d03828a87bdca719cb7105d7b
Merge "Address race in file locking tests"
Make lock_wrapper private

This is only intended to be called via the main() function, so it
doesn't need to be public.

Change-Id: Ia215abbe8f8b9e1d8f4f36027b95bc33788a1886
Add deprecated name test case

This is being separated from the change to deprecate the DEFAULT
grouped options because it is exposing a python 3 incompatibility
in oslotest and I don't want to block the release on something this
minor.  Once oslotest is fixed we can merge this to make sure
the deprecated options continue working.

Change-Id: Iabf5ad6ad1e7ad9a426783592f23f58452484b32
Remove extraneous vim editor configuration comments

Change-Id: I0a48345e7fd2703b6651531087097f096264dc7d
Partial-Bug: #1229324
Merge "Support building wheels (PEP-427)"
Merge "Remove extraneous vim editor configuration comments"
Merge "Make lock_wrapper private"
Updated from global requirements

Change-Id: Ie6c5cfdd1e28489ed1b72d16e586edf8711626f6
Updated from global requirements

Change-Id: I8b06d0788b7564942c57690b55ba58f5f2f9985b
Imported Translations from Transifex

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: Ibfce32314ef291f57f3f7f3b02b1cb13bbf8361d
Updated from global requirements

Change-Id: I429f9bcdcdf88773a7d0af3b1a8c0c11377c2336
Merge "Imported Translations from Transifex"
Add pbr to installation requirements

Add pbr to the list of installation requirements so that it is installed
via pip before this library is installed, instead of with easy_install.
This avoids issues like Bug #1384919, and ensures that projects that use
this library as a dependency are properly installed.

Change-Id: I6c155370dbd01fe4748d5137bdf288e8d3e1a67e