- use strict, at least 'vars' and 'subs'
  - perl5db.pl
  - DB/DbgrProperties.pm
  - DB/DbgrCommon.pm
- dblog() calls perform potentially expensive operations
  even when logging is disabled
- breakpoint on error
- breakpoint on return should break before the function
  returns, otherwise they're not that useful
  (probably not possible with pure Perl)
- review breakpoint_list logic for file breakpoints,
  it can probably be simplified
- make stop not exit
- fix stack depth/context id handling in properrty_get
  - stack depth > 0 for anything but function arguments
  - if there is both a lexical $foo and a package $foo, there is no
    way of fetching the package variable
  - kill evalArgument, it can be emulated via aliasing + eval, or
    kill the eval for everything else, and use evalArgument
- fix breakpoint_set return value
- fix the fact that breakpoint_set can set multiple breakpoints
- add extended_properties feature
- aggressively disable DB::DB/DB::sub
  - when entering DB::DB
  - when evaluating breakpoint conditions
  - when calling DB::RedirectStdOutput methods
- try very hard not to reset iterator state on arrays/hashes,
  or at least try to restore it afterwards
- source command on Perl 5.8 and 5.10 does not return POD
  check in-memory and on-disk source match and get the POD from the disk file
- test
  - that all URI default to file:// if no protocol is set
    (workarouhd for broken clients)
  - feature_set/feature_get
    - individual features
  - step_into/step_over/step_out
  - breakpoints
    - breakpoint_get/update/remove/list
    - conditional breakpoints (file/line or just file)
    - postponed breakpoints
    - watchpoints
    - breakpoints with file:// or dbgp:// URLs
    - enabled/disabled state
    - temporary breakpoints
    - hit value/hit count/hit condition (enabled and disabled breakpoints)
  - stack_get depth
  - context_get (combinations of stack depth and context)
  - property_set
  - property_get/property_value
    - stck depth/context combination
    - max size
    - long names
    - paging for arrays/hashes
  - break
- (maybe) replace DB::Data::Dump with a trampoline that loads data dumper
