sync i386 sets
remove bogus assertion in wapbl_discard()

the check that every buffer of a wapbl transaction being discarded must
have B_NOCACHE, B_INVAL or B_ERROR set is bogus since an error trying to
flush any individual buffer is already enough to invalidate the whole
transaction.

ok oga@
make dounmount() fail on EIO

remove check for EIO in dounmount() which is no longer necessary and
have it return the error; particularly useful in the shutdown case.

ok oga@
C1's debug console is actually on the first uart port.
Make bus_space_barrier on i386 actually work

Convert bus_space_barrier to an inline function that always provides
an instruction barrier to prevent compilers from possibly reordering
stores around it.

In the case of a read barrier, we also do a locked add to flush all
write combining buffers on the bus.  The locked add is provided
versus using *fence instructions as the latter requires sse2, which
not all i386 have.

from FreeBSD.

ok oga@