ABSTRACT CURL LIBRARY INTO OBJECT FOR BETTER UNIT TESTING

Write a wrapper class around the standard cURL library so that
it can easily be replaced in oauth_application.php for unit
testing. Create an interface called CurlInterface and
implement a concrete implementation of CurlInterface called
CurlObject.

Instantiate CurlObject data member in OAuthApplication. Modify
OAuthApplication methods to call CurlObject methods instead
of cURL methods directly.

Add some unit tests for OAuthApplication->makeRequest() to
verify that CurlObject is being invoked properly.

Add an additional unit test to verify that + character is
correctly URL encoded in SignatureBase. See Jira PA-60.
FIX SPACING PROBLEMS CAUSED BY MIX OF TABS AND SPACES

Replace tab characters with spaces for files modified with
last commit so that code indentation is consistent in all
editors.
Fix handling of reserved chars when generating oauth signatures

Clearly define how reserved characters are to be encoded in calls
to OAuthApplication->makeRequest. Treat reserved characters as
though they are URL encoded when they are passed in as query params
to the URL. Treat reserved characters as though they are not URL
encoded when passed in as an entry in a data array. Generate unit
tests to prove that the signature is being generated correctly.
Address Typos in Comments

Fix the typos in comments that were pointed out in code review.
Add Unit Tests for Collection Create Method

Add unit tests for Collection create method to ensure that changes
in the OAuthApplication module related to escaping reserved
characters do not have unintended side effects in the
AWeberCollections module.
Change custom field name in test

Change the name of the custom field being created in the unit test
testCreateFailureWithAdaptor from 'Field With Spaces' to
'Field+With+Plus+Chars' because the original name is a valid
custom field name.
Fix unsafe array operation.

Fix unsafe array operation inOAuthApplication->createSignatureBase
flagged by Travis: Only variables should be passed by reference.
Store the output of explode in a temporary variable and pass that
variable into array_shift.
Merge pull request #35 from aweber/fix-oauth-defect-plus-character

api find() call with + in addresses results in invalid signature