floppy: Encode command and flags into single value in floppy pio code.

Eliminate struct floppy_pio_s and change floppy_pio() to take the
command type and parameters in a single encoded value.  This makes the
code similar to the ps2port.c pio code.  It also reduces some of the
boilerplate code in the callers of floppy_pio().

Also, collapse pairs of floppy_select_drive() and floppy_pio() calls
into new call floppy_drive_pio().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
On disk format request, verify cylinders and pass to driver.

The regs->ch field contains the cylinder to format on a disk_1305
call.  Verify that parameter and pass to the low-level driver code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
floppy: Implement cylinder seeking when accessing a different cylinder.

It appears that on real hardware, floppies require a seek command to
move the floppy head between cylinders.  So, track what cylinder is
active and issue a seek command whenever a new cylinder is requested.

This also breaks up the floppy_cmd() code so that the low-level
command functions can pass the desired cylinder directly to the
seeking code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>