changing implementation of Canonical URL creation

* changing trigger from onAfterRoute to onContentBeforeDisplay (because I need content information for creation of Canonical URL)
* add if-then-else statement for creation of proper Canonical URL for com_content view=article

Reason for this pull request is to solve the wrong Canonical URL for an article.

examples:
* http://www.byte.nl/nieuws/2553-byte-op-de-joomladagen-2014
* * canonical url = http://www.byte.nl/nieuws/2553-byte-op-de-joomladagen-2014
* http://www.byte.nl/nieuws/2553-byte-op-de-joomladagen-2014?utm_source=newsmail&utm_medium=email&utm_campaign=newsmail_2014_03 
* * canonical url = http://www.byte.nl/nieuws/2553-byte-op-de-joomladagen-2014?utm_source=newsmail&amp;utm_medium=email&amp;utm_campaign=newsmail_2014_03
* * expected canonical url = http://www.byte.nl/nieuws/2553-byte-op-de-joomladagen-2014
* http://www.byte.nl/nieuws/banaan/2553-byte-op-de-joomladagen-2014
* * canonical url = http://www.byte.nl/nieuws?catid=0&amp;id=2553
* * expected canonical url = http://www.byte.nl/nieuws/2553-byte-op-de-joomladagen-2014
* http://www.byte.nl/nieuws/2553-byte-op-de-joomladagen <- without “-2014″
* * canonical url = http://www.byte.nl/nieuws?catid=2553&amp;id=2553:byte-op-de-joomladagen-2014
* * expected canonical url = http://www.byte.nl/nieuws/2553-byte-op-de-joomladagen-2014

Problem is that Google will index all weblinks. You will end up with duplicate content. 

With the patch applied a correct Canonical URL is created.
It will prevent duplicate content.