Allocate from heaps downward by default.
Allocate heaps similar to hardware.

Could matter for alignment, since a game might intentionally request 0x108
bytes to get an aligned address or something.
Return an error when deleting a bad heap.
Don't create blank entries in heapList.
Implement sceHeapIsAllocatedHeapMemory().
Cleanup error codes in sceHeapAlloc*().
Fix aligned heap allocation semantics.
Cleanup errors in sceHeapFreeHeapMemory().
Merge pull request #4171 from unknownbrackets/heap

Improve accuracy of sceHeap functions