Minor changes to the pull request:
- applied code formatting to conform to style guidelines
- eliminated code that has been commented out
- changed AdjustableSemaphore#maxPermits field to a volatile variable. Although it's probably OK to perform an unvolatile read from this variable because it is an integer and the JVM has special guarantees for integers, I feel better if it's a volatile variable.
- renamed getMaxPermits() to maxPermits(). The Semaphore class has the avialablePermits() method not getAvailablePermits().
- added one-argument constructor to AdjustableSemaphore. Use this constructor in ConstrainedHttpClient.
- Added unit tests for AdjustableSemaphore