Modified debugger to allow for clients to emulate stepping

- Added line information to DebugBreak
- Added logic to fail adding a new breakpoint to an
  existing element that is already a DebugBreak
  this is useful for stepping in a client editor
  where the user is expecting to step line-by-line
  but the next line may be still in the same DebugBreak
  So this code will now refuse to insert the new breakpoint
  and throw a remote exception