Spacing changes
Fixed a bug where the lower bounds restriction was incorrect, and
changed to >= rather than >.
Fixed an issue where the useragent field was not being used.
Modified this class so that it would be more robust with derived
classes.
Another constructor that acts as a copy constructor and takes a new
socket.