Use floats for Originate Timestamp and remove unused variable
Use IO.select and immediately set the client receive timestamp

I found this to give a more accurate timestamp because the stamp is set
immediately upon the wakeup that data is available, rather than after
the data has been transfered to userspace.

As a result, the timestamp is now passed into the Response object when
it is constructed.

closes #6
Add Response#offset and the start of a test that validates it

The test is quite hard if your clock is in sync. I'm not sure the right
way to actually do this because we're using a pool of NTP servers and
ntpdate and Net::NTP could hit different servers.

I think this is good enough for now to verify that things actually
work and return reasonable results.

closes #6