fix Issue 13176 - core.time should allow conversions of floating-point values too

I've needed this several times. Usually when we ask the user for a time value (e.g. seconds), it's more useful to allow them to specify the value as a fractional number as well - so that e.g. they could tell an utility to have a timeout of 0.5 seconds.

https://issues.dlang.org/show_bug.cgi?id=13176
Please just overload this on `long` and `real` so that we get something like

    template dur(string units)
        if(units == "weeks" ||
           units == "days" ||
           units == "hours" ||
           units == "minutes" ||
           units == "seconds" ||
           units == "msecs" ||
           units == "usecs" ||
           units == "hnsecs" ||
           units == "nsecs")
    {
        Duration dur(long length) @safe pure nothrow
        {
            return Duration(convert!(units, "hnsecs")(length));
        }

        Duration dur(real length) @safe pure nothrow
        {
            return Duration(cast(long)(length * hnsecsPer!units));
        }
    }

Then `convert` doesn't need to support `real`.