Refactor sending NOTIFICATION_HISTORY_URL_VISITED

Refactor //chrome/browser/history code sending the notification
NOTIFICATION_HISTORY_URL_VISITED so that the notification is not
send from the core of the component.

Introduce HistoryServiceObserver to follow the observer pattern
instead of notification and use this pattern in the core history
code.

Introduce HistoryBackendObserver to follow the observer pattern
instead of notification in the history thread.

ChromeHistoryClient forward the HistoryServiceObserver events to
the notification system so that porting the clients can be on a
case by case basis and does not block the componentization work.

BUG=373326

Review URL: https://codereview.chromium.org/631253002

Cr-Commit-Position: refs/heads/master@{#299719}
26 files changed