timers: fix setInterval() assert

Test case:

    var t = setInterval(function() {}, 1);
    process.nextTick(t.unref);

Output:

    Assertion failed: (args.Holder()->InternalFieldCount() > 0),
    function Unref, file ../src/handle_wrap.cc, line 78.

setInterval() returns a binding layer object. Make it stop doing that,
wrap the raw process.binding('timer_wrap').Timer object in a Timeout
object.

Fixes #4261.

Reviewers: @isaacs @TooTallNate