move most of the header writing code from record.c into wav.c and sun.c.

introduce a struct write_info for communication between front ends and
backends.

libaudio API is still pretty ugly, and needs to stay local here for now,
but it is a little more usable for other tools now.
Use a constructor to get the cache_info.
However memset can be called before the constructor is called, just treat
those as simple fills.
Add CACHE_INFO_DCACHE_LINE_SIZE to assym.h and use it
Add CACHE_INFO_DCACHE_LINE_SIZE to assym.h
Move the pmap_setup to the start oea_init (no non-OFW ports can use it).
If PPC_OEA64_BRIDGE is defined, add code so that when OEACPU_64_BRIDGE is not
present, it replaces the rfid with rfi and mfmsr/rldicl/mtmsrd sequence
with NOPs.  This allows plain OEA kernels to work.  (tested on PMPPC with
PPC_OEA64_BRIDGE option added).
Bump the image size so that the contents fits again.  Kernel (at
least INSTALL32_IP3x) has big enough area already.
md_root_setconf also depends on option MEMORY_DISK_DYNAMIC
convert rfid to rfi in exception handlers.
Move the Marvell extension to com_mv.c.
Add support 16750 64Byte FIFO.  But not test.