Put vtimer args on the stack, skip allocation.

This is roughly where they are on the PSP based on tests, and it avoids
having to manage memory or etc.
Correct errors from sceKernelCancelVTimerHandler().
sceKernelCancelVTimerHandler() resets handler only.
Correct sceKernelSetVTimerTime*().
Correct sceKernelGetVTimer*Wide() error value.
Fix doubling of current on vtimer stop.
Return a special error for the running vtimer.

Also, ues 0 when none is running.  This explains the different error code.
Update current and limit bytes in vtimer refer.
Sign extend sceKernelUSec2SysClock().

Wow, I guess this has been broken forever.
Fix error code on start vtimer with current.
Run missed handlers when setting vtimer time.
Correct vtimer scheduling.
Return better vtimer errors within interrupts.
Don't change the vtimer schedule with no handler.
Fix vtimer uid param type, add algorithm include.
The vtimer return value is treated as u32.
Keep more careful track of microsecond time.
Use the us based time for rtc/etc.

Instead of incorrect conversions from ticks based on current mhz.
Use CoreTiming::GetGlobalTimeUs() for vtimers.
Merge pull request #4286 from unknownbrackets/vtimers

Fix a bunch of issues in vtimers