TargetObject: moved into the API as APIRecord

This has been done for two main reasons:
  1. Extensibility of the API's task interface
  2. Reusability of objects in the task interface
VindicatorAPI: fixed naming and visibility of internal tasks
CNoteRem: strip '#' characters from node indexes