Updated project file for latest Xcode (4.6) and OSX SDK (10.8).
Replaced our own implementation of OSSafeReleaseNULL with Apple's.

No point in reinventing the wheel.
Renamed struct.

This isn't the PCI config area, it's the virtio header.
Fixed a signedness issue for detecting running out of ring descriptors.
Renamed header I/O range mapping variable and functions to avoid confusion

 * The device memory region is not the PCI config area, but the PCI virtio header. Renamed the member variable and methods to match.
Made log output easily switchable between IOLog and kprintf, fixed some format strings.
When probe()ing, do some basic sanity checks on the virtio I/O range.
Removed support for "high" feature bits, as these are no longer part of the virtio spec.

Note that we still log the presence of legacy feature bits when verbose output is active.
Fixed potential panic/overwrite by replacing any remaining calls to IOMemoryDescriptor::getPhysicalAddress with 3-argument getPhysicalSegment.

getPhysicalAddress and the 2-argument form of getPhysicalSegment both suffer from truncation on 32-bit kernels on systems with enough physical memory for some of it to be mapped above the 4GB barrier.
Enable I/O ports on the bus if nothing else has already done so.
Fixed the offset to which we write the guest's supported feature bit.
Bumped version number to 0.9.3b1