Fixes periodic travis failures by removing sleeps and using synchonization structures to test synchronous- and asynchrounous functions.

The basic change is to use a latch to force the asynchronous portions from finishing. Keep in mind they return instantly. So the chain will be finished, even though not all the async work will be. However, do verify that the synchrounous work is completed.

A nice side effect here is that the `Thread.sleeps()` were removed. Wooooo!
pulled out rax_auth and made it configurable
added more error handling and fixed missing auth reference
added printstatements
now retries on 401 errors
added test config
fixed up test config
fixed no_auth tests
added reauth tests and fixed corresponding bugs
added UTC expiration test
added mocking function
fixed mock to not depend on string interning
fix to use snake case where appropriate
updated curl example
Added env vars to make the tests configurable, also make
the auth class configurable
fix observed problem with latch in tests.
add test that may show problem with openjdk latches.
Merge pull request #384 from rackerlabs/graphite_compat_next2

Make finder auth configurable
address review comments (spacing, use of logging).
Merge pull request #382 from gdusbabek/fix_slow_thread_race_in_concurrent_structures_test

Fix synchronization issues with ConcurrentStructuresTest.
Making Zookeeper integration code more readable.

* Making more variables into `final` so that the state modification is more controlled.
* Adding comments in various places, especially regarding the lock states.
* Adding zookeeper bootstrapping to the test suite, and moving the test out of the integration test (in fact, this test was blacklisted and was never executed).
* Reducing the usage of the mockito whitebox.
* Reducing the amount of shared states, by pulling the scavanger state out of the member variable and storing it within the function scope.
* Removing the usage of `java.util.Timer`.
* Separating out the zookeeper connection wait outside the constructor - that makes the tests more reliable, since having the lock managers in disconnected state is most likely bad.