Several fixes in side-by-side editing support

* DockNotebook.cs: Keep the list of all notebooks in this class.
  Register new notebooks in the notebook constructore and remove them
  in the Destroy event. This avoids having to add code to maintain the
  list in all sites where notebooks are created or destroyed.
  Added ActiveNotebook property. It has the notebook that currently has
  the focus. We are only going to rise the ActiveDocumentChanged when
  switching tabs of the active notebook, or when the active notebook
  changes.

* DockNotebookContainer.cs: Factorized tab creation into
  DockWindow.AddTab, so it can be reused in other places.
  Removed the code that maintains the list of all notebooks since that's
  now done by DockNotebook.

* DockNotebookTab.cs: Added property for getting the notebook to which
  a tab belongs.

* IDockNotebookTab.cs:
  MonoDevelop.Components.DockNotebook/DockNotebookTab.cs


* PlaceholderWindow.cs: New method for adding a tab to a window.
  Reused in a couple of places.
  List of all tabs has been moved to DockNotebook.

* TabStrip.cs: Removed FocusMayHaveChanged call, since this is already
  done in SdiGragNotebook.
When clicking on a tab, the parent notebook becomes the active
  notebook.

* DefaultWorkbench.cs: Removed the activeTabControl field, since the
  active notebook is now tracked in DockNotebook.ActiveNotebook.
  Moved some code to DockWindow.AddTab.
  Track changes in the active notebook, which may generate an active
  document change.


* SdiWorkspaceWindow.cs: Removed check for visibility event, since a
  view may be made visible but not the active window.
  When clicking on the view, just make sure the notebook of the view is
  the current notebook. This will trigger the active document change
  if a new notebook was focused.
  Do the same in GetDelegatedCommandTarget. If this method is called, it
  means the current view has the focus. This is just in case the
  button press event is intercepted and doesn't make it to the view,
  or if a view is selected by other means (for example, using the
  document switcher)

* Workbench.cs: Don't Present the main window when opening a document
  with BringToFront flag, since the document may be opened in a
  floating window. The view will take care of presenting itself in
  SelectWindow.
[NuGet] Show status bar messages when checking for package updates.

Main status bar now shows progress messages as package updates are
checked. Error messages are shown in the Package Console.

Status messages:

    Checking for package updates...
    Package updates are available.
    Packages are up to date.
[Ide] Set active notebook when clicking on it

This allows focusing the main notebook even when there is no open
document on it.
Don't show the floating windows until all documents have been opened.
[Ide] Fix tab strip display issue

Make sure the tabs in TabStrip are shown using the correct size the first
time they are made visible.
[AssemblyBrowser] Added the resource folder again.
[Ide] Track page switch history in each notebook

Each notebook now tracks the history of page switches, and selects the
correct page when closing a tab, based on that history.
[Ide] Fix floating window placement issue

The event args of the motion event is not very reliable since it depends on
the allocation and the underlying gdk window. Use GetPointer to get the
precise mouse location in screen coordinates.
[NuGet] Remove updated package available info when update installed.

When the project has updated packages available and an update is
installed then the Packages folder in the Solution window is now
updated to reflect the current state. When the update is installed
the version available information shown next to the package is
removed and the updated package count shown on the Packages folder
is updated.
[Ide] Show the name of the document being dragged in the placeholder window.
[Ide] Floating doc placeholder improvements

Visual changes to make it match the design.
[Ide] Remove unnecessary IDockNotebookTab abstraction
bumped debugger-libs
[Debugger] When allowing method evaluation, don't forget to enable AllowTargetInvoke
bumped debugger-libs
bumped debugger-libs
bumped debugger-libs
bumped debugger-libs
[Debugger] Updated some unit tests (now that simple properties are evaluated)
bumped debugger-libs
[Debugger] When resolving tooltips, set both AllowTargetInvoke and AllowMethodEvaluation to true

Fixes bug #20521