THRIFT-3724 Fix incorrect timeval conversion in libevent.d

This closes #936
diff --git a/lib/d/src/thrift/async/libevent.d b/lib/d/src/thrift/async/libevent.d
index 2cf0d3c..812e4a7 100644
--- a/lib/d/src/thrift/async/libevent.d
+++ b/lib/d/src/thrift/async/libevent.d
@@ -442,8 +442,8 @@
 
 private {
   timeval toTimeval(const(Duration) dur) {
-    timeval tv = {tv_sec: cast(int)dur.total!"seconds"(),
-      tv_usec: dur.total!"usecs"};
+    timeval tv;
+    dur.split!("seconds", "usecs")(tv.tv_sec, tv.tv_usec);
     return tv;
   }