docs/jtag: document the cpuid instruction
tests/irq_sdram: wait for the sdram to initialize

Otherwise we get unpredictable results.  Normally this isn't a problem
when this is run in a batch of tests as it's not the first test and the
sdram is already up and running, but if run on it's own it will fail.
oldland: implement debugger breakpoints.

The bkp instruction is used for stopping execution.  At the moment this
is only valid when the debugger attached, eventually the bkp instruction
should raise an exception when the debugger is not connected.

One hitting a breakpoint the debugger needs to set the PC to the
instruction following the breakpoint to resume execution.
tests: reimplement testpoints with breakpoints.

In preparation for free-running tests rather than single stepping.  This
will improve performance of large tests, but will be essential for
things like enabling the MMU once implemented where single stepping will
not be possible.
tests: add a simple breakpoint test.
tests: convert a few tests to run_testpoints()