Move contact join out of Articles Model into Plugin

Here is how to pull that contact join out of the Articles query -- and still provide for the feature.

Interestingly, the blog doesn't even show this data -- so the slow downs due to the join were not even useful to anyone when displaying the blog. Only the list shows the links.

Now, with the plugin approach, the queries only run when the show link parameter is activated.

Moved the language logic.

Fixed a problem where no parameters are ever sent to the prepare content event. (Yikes.)

And, I moved tags into a plugin too -- why? Because tags don't need to be in the (shouldn't be in) the primary query. It's not necessary and it's not easy to swap out when it's in the primary model.

This is exactly what plugins are good at -- and that's the examples that core should be showing.

NEVER should there be a join between two tables where there is no relationship. Let's be done with this - three years is long enough.

STILL NEEDS: install data - and the XML install needs to be changed.

Will this be accepted?