Let's actually call Init/Shutdown in CoreTiming.
Allow downcount to be negative.

This fixes threads/alarm/alarm and ctrl/sampling2/sampling2, which were
broken in 674911dd.

The downcount can go negative for a few reasons, and was signed before.
Merge pull request #431 from unknownbrackets/timing-fix

Timing fix
Cleanup sceKernelCreateVpl() and add warns/errors.
Always use -1 for failed allocs in block allocator.

Before it used 0 and -1, confusing.
Make sure BlockAllocator doesn't get off grain.

This should fix spurious warnings about AllocAt() when loading a game.
Implement basic waiting for VPL allocation.

Always times out so far, though.
Clean up sceKernelFreeVpl(), not waking yet.
Properly wake semaphores in priority order.