Fix Mirage DNS resolution by plumbing the Io_page allocator through

All Dns.Buf allocation must be overriddable (for using normal malloc
on Unix, or Io_page on Xen).  This introduces an Io_page dependency
only in the Mirage layer now, where it is always needed, but not for
normal Unix use.