fpga_write/fpga_read: no error status return

Not necessary. The only error condition was WCOL, and none of the code
should be able to cause that. I've replaced the error return with an
assertion.
Added fpga_wr1, fpga_rd1

These functions write and read one byte, without needing a buffer. The
code is cleaner - and compiles smaller too!
Structural changes to instrument code

- Read the FPGA data block all at once, rather than a register at a time
- States of state machine are in separate functions