1. remove impossible test from interio. 2. remove assert from catio; correct fencepost errors. 3. remove redundant waserror/error from io. 4. remove impossible error recovery from mconfig. memory leaks not addressed. 5. rewrite setdsize so that mirrors, interleavs with a zero-sized inner devs don't get confused. also, interleaved devices are now sized as ndev*min(isize) not sum(isize). isize is block-aligned, of course. undone: i would like to remove the retries from mirror. i also think that mirror should stop on first error.