Basic resource reservations

Building on #616 (so relevant commit = 917ae9052c2ca45ce7f9dc6ddfc5f6c41736e909), this exposes basic resource reservation information in MachineState. The current approach for calculating free resources is extremely simple: assume a fixed block of resources (HostResources) is reserved for usage outside of fleet units (e.g. by system processes and fleet itself), and subtract the aggregate resources that have been reserved explicitly using fleet directives.

Note that this is a proof of concept/strawman trying to explore how best to integrate this information.