This replaces all the API functions that returned Result<T, String>.
Additionally, ToApiResult<T> and Simplify<T> make converting errors to
ApiError easier than with String.
Main changes:
* Use diesel instead of sled
* Split libvirt components into new crate, nzr-virt
* Start moving toward network-based cloud-init
To facilitate the latter, nzrdhcp is an added unicast-only DHCP server,
intended to be used behind a DHCP relay.