Related to #46 but may not solve it entirely. The `in_use` check just compares memory available to max memory and there could be other sitations which cause a leak of VMM memory use.
It happens when an exception is raised during NIC binding (such as a NIC requesting a nonexistent network). No attempt was made to back out the scheduled reservation. Solved by doing NIC binding before scheduling but I'm not totally clear on any side effects this might have.
Order of NIC binding and scheduling apparently matters. Reworked backout logic to pass down
required values (memory, cores, etc) through scheduler and slot management since they cannot
be resolved from WorkspaceHome at the time of backout.
In general a pretty ugly solution.