Fix for WEBSITE-8. Previously any change to a plugin's portal page would put the plugin at the top of the "latest plugins" feed, which isn't ideal. Now only plugin releases count in the ordering of the plugins. Also, the plugin summary is put into the feed in place of the contents of the description tab.
The Shiro 'authenticated' and 'notAuthenticated' tags don't work with Grails 2.0.0.RC1, so I've replaced uses of the former with <shiro:isLoggedIn>.
Not sure how long the isXhr() method has been available on request, but it's definitely there in Grails 2.0. Hence we don't need to provide our own.
A permanent redirect was playing havoc with wiki editing for the plugin tabs. These are now handled by a dedicated controller, PluginTabController, which has helped simplify code. I'm also using an updated YUI plugin that fixes a problem with the adaptive AJAX tag handling.
…issues and improve code reuse.