moved ConstrainedHttpClient to basis
added credit to original author
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
simplified the execute method in CHClient

this version requires two fewer local variables, is shorter, and
(in my opinion at least) more readable.
added a toString method to AdjustableSemaphore
cleaned up javadoc tag to newer syntax

also tidied a test method's exception list. its just a test
formatting on CHCTest
fix missorted modifiers
Remove 'abstract' declaration from ConstrainedHttpClient. The class
does not declare any abstract methods.
Remove '@Ignore' delcaration from unit test. Adding unit tests that
tests for resource constraints.
Merge pull request #2 from addthis/pr/1

add ConstrainedHttpClient to basis