Options cleanup refactor

Ok, so I know this is a major one, but I really tried to separate the commits out so you can follow readable changes.

There is a mix of things here, minor and major changes. I would definitely advise to go through each commit separately, and in order, rather than just looking at the pull request changes. Hopefully everything can be seen much more clearly that way.

### Minor:

 - Removed unnecessary members and calls: d649c9a, b9c1f36
 - Reordered class members: 8efec33
 - Added class and class member documentation (phpdoc style): e44f9ae

### Major:

 - Renamed members and variables to be consistent: 713a962, ed00acf, 69aedc3
 - Changed setClientHeader method API, and execute method return value: 930072b, 29f65f0
 - Refactored constructor to use an options array: 183ec40, af3494c
 - Added more examples to show all of these changes in action: 0bbabc8