Implement PersistentMovingRange::document

This was undefined
Move assistant infrastructure to kdevplatform

Noteworthy changes:
* StaticCodeAssistant (from CPP plugin) is now StaticAssistantsManager,
  now lives in  kdevplatform, so all languages can benefit from it
* RenameAssistant was moved to kdevplatform, as it it useful for all
  languages
* BasicRefactoring now has new virtual methods that control the behavior
  for renaming actions
  LanguageSupport got a new property: refactoring (so languages can expose
  their custom BaseRefactoring implementation)

New API:
* New base class for "static" assistants: StaticAssistant
  Static assistants exist during the whole session
  They are notified when documents change and create solutions based on
  that. Current implementations: AdaptDefinitionSignatureAssistant (CPP
  language) and RenameAssistant (kdevplatform)
* New manager class: StaticAssistantsManager:
  Tracks the StaticAssistant instances, takes care of notifying them
  about changes in the editors. Single entry point for registering
  StaticAssistants.
  Entry-point: LanguageController::staticAssistantsManager

REVIEW: 118542
Add a method that checks that no background parsing job is running nor queued

REVIEW: 118617
FilteringStrategy: Support automoc4 output
Minor: Add TODO
AssistantPopup: Simplify code
Make multi-arg default constructor of DeclarationId in-explicit.

This fixes a compile error in KDevelop when using clang, as the
following is apparently not confirming otherwise:

DeclarationId id;
id = {} // error here