Sync our version of the interprocess lock

The oslo version gained a exists function and
merged in the commented code we had so we can
go ahead and merge that into our source tree
and remove the comment (since it's not useful
anymore).

The update is from lockutils.py, oslo incubator
commit hash e3b52f20367e18.

Change-Id: I858a4412d03c48c4ef1c2506edf6334c66ded3f0
Update zake to requirements version

Zake has been updated in the global requirements
repository to be zake>=0.0.20, so in order for the
requirements bot to get its change through (without
updating hacking) we need to separate this change
out.

Change-Id: I5cf4407104409785fe4ee746af9fed7b766474e4
Remove misc.as_bool as oslo provides an equivalent

There isn't a need to have a misc.as_bool function
anymore now that we have imported the oslo incubator
strutils module since that module provides a function
that does *nearly* the same thing.

Change-Id: I7afe141d5a37c50b0c926144743f9af71db95bbf
Denote that other projects can use this library

This library while made primarily for OpenStack is and
should not be limited to just being used by OpenStack
and our documentation should reflect this.

Change-Id: I9721adc062b27ab9e893b97e29cc34c6cb889308
Upgrade hacking version and fix some of the issues

Update hacking to the new requirements version and
fix about half of the new reported issues. The other
hacking issues are for now ignored until fixed by
adjusting our tox.ini file.

This commit fixes the following new hacking errors:

H405 - multi line docstring summary not separated
       with an empty line
E265 - block comment should start with '# '
F402 - import 'endpoint' from line 21 shadowed by
       loop variable

Change-Id: I6bae61591fb988cc17fa79e21cb5f1508d22781c
Adjust sphinx requirement

Bump up the sphinx requirement to match the
openstack requirements version to ensure
consistency among projects.

Change-Id: Ia348566c1c22ca31fa1cbdeb38d902ca0f622378
Merge "Update zake to requirements version"
Merge "Adjust sphinx requirement"
Merge "Upgrade hacking version and fix some of the issues"
Fix doc which should state fetch() usage

The doc should say single results can be fetched with
fetch() and not using the fetch_all() method which is
used for a different purpose.

Change-Id: I57f23f5f3f72336d91aedcb413d4f789a2844b06
Fix E265 hacking warnings

Adjust the example code to comply with the new E265
hacking check. This check warns about the following:

* E265 block comment should start with '# '

Change-Id: I77aaf8c0bbc50bad9646f8192b1e1b80cf0afc8c
Updated from global requirements

Change-Id: I9ff09bd79cfa5422e75e21463ac3d7085f20d721
Make intentions a tuple (to denote immutability)

Since the atom intentions are not meant to be mutable
we should make sure that we create the object as a type
which is not mutable. This helps with those looking over
the code to understand its desired usage which is not to
be a mutable collection.

Change-Id: I84948faf2e6bd8f4b4a9b27e390c9a03a14efa4b
Merge "Denote that other projects can use this library"
Merge "Remove misc.as_bool as oslo provides an equivalent"
Remove functions created for pre-six 1.7.0

With the new six version we can remove some
of the utility functions that we created now
that upstream six has equivalent or better
functionality.

Change-Id: I637fcf1475ca1af02608e736ca920c3e116c5529
Merge "Sync our version of the interprocess lock"
Merge "Remove functions created for pre-six 1.7.0"
Merge "Make intentions a tuple (to denote immutability)"
Merge "Fix E265 hacking warnings"