Failure cases in loader code are very buggy
Failure cases in loader code are very buggy

1. Fix double free when kmallocing vmxon_region fails, vmcs value is freed, and
that value is freed again when rustyvisor_exit is called at the end of
rustyvisor_init.
2. Fix misplaced put_cpu_ptr (2 places).
3. Semaphore is not up'd when we return out of the middle of
rustyvisor_loader_core_load (2 places).

Bug types:
* concurrency
* double free

iankronquist/rustyvisor,iankronquist/rustyvisor,iankronquist/rustyvisor