Properly propagate breakpoint errors
Properly propagate breakpoint errors

When failing to set a breakpoint with provider.set_breakpoint
propagate the failure. This allows GDB to see the failure setting a
breakpoint and handle this accordingly.

Prior to this change, when using GDB and Eclipse and you run out of
hardware breakpoints you can still run and step. This can lead to
undefined behavior since the step over operation is likely to fail
and leave the processor running if all the breakpoints have been set.

With this change Eclipse will not let you step or run until the number
of breakpoints set have been reduced to a usable level.

mbedmicro/pyOCD,wjzhang/pyOCD,mesheven/pyOCD,0xc0170/pyOCD,0xc0170/pyOCD,matthewelse/pyOCD,wjzhang/pyOCD,pyocd/pyOCD,mesheven/pyOCD,mbedmicro/pyOCD,flit/pyOCD,matthewelse/pyOCD,0xc0170/pyOCD,matthewelse/pyOCD,pyocd/pyOCD,wjzhang/pyOCD,mbedmicro/pyOCD,flit/pyOCD,mesheven/pyOCD