Fix #31339 (Tags backwards-compatibility issue) through #31488 (a clean observer implmentation in JTable)

This pull request is an alternative implementation to the fix proposed in pull request 1452 ( https://github.com/joomla/joomla-cms/pull/1452 which was refered in #31339).

One line that shows the big advantage of this proposal easily understandable:

```php
JObserverMapper::addObserverClassToClass('JTableObserverTags', 'JTableContent', array('typeAlias' => 'com_content.article'));
```

is all what is needed to add the Tags feature to a JTableContent. Neither JTableContent nor JTable have after this PR any tags-specific code. This line is outside those 2 classes (here in cms.php), and such lines can be used to add tags to any class!

Detailed explanation of its benefits here for what it fixes:
http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=31339

and here for its general advantages:
http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=31488