Realized cost of 64bit division (implemented in software)

After much brainstorming between Chris/Jimmy, came up with a different,
cross-platform method of checking for 64x32bit multiplication overflow
without division or inline assembly by only checking the top 32bits of
the 64bit value.

Realized the overflow only becomes an issue if tasks are created that
will last for more than 36 thousand years. So decided to not waste
cycles in the task interrupt doing 64bit multiplication. We left our
fix commented in the task scheduling code in case anyone needs this
feature.