Support/use self everywhere

This came out from a comment in #1094 
This PR makes all the code use `self` as a keyword for the properly scoped `this`
review: @mikeal @nylen @FredKSchott ?
yup, this is actually all called on the socket object

https://github.com/seanstrom/request/blob/support/use-self-everywhere/request.js#L839

we can change this to add another var self = this; at the top but I think that might be even more confusing since everywhere else self is an instance of request.