fixes #36 Send/Recv deadline is an absolute time.Time

This changes OptionRecvDeadline and OptionSendDeadline to use a
time.Duration instead of an absolute time.Time. Fixes #36.
So another option, as I highlighted in the linked issue, would be to allow `OptionRecvDeadline` and  `OptionSendDeadline` to be either a `time.Time` (which allows for non-blocking operations) *or* a `time.Duration`. You could have another set of options rather than making the existing ones polymorphic, but that start to make the API (and implementation) considerably more complex.