Replace _send_upstream datetime logic with simpler time().

Simplifies the timeout logic.

Avoids two object instantiations for each message sent asynchronously--one for the now() call, one resulting from the datetime arithmetic.

As a nice bonus, time() is also faster than datetime.now(), but I doubt it would be noticeable in the real world:

```
import datetime
import time

beg_time = time.time()
for _ in xrange(0,4000000):
    datetime.datetime.now()
print 'dt - %.2f sec' % (time.time() - beg_time)

beg_time = time.time()
for _ in xrange(0,4000000):
    time.time()
print 'time - %.2f sec' % (time.time() - beg_time)
```

```
dt - 5.72 sec
time - 0.45 sec
```