LPS-47664 Added interface for TagIdResolver
LPS-47664 Add interface for tag view extensions
LPS-47664 Track TagIdResolvers to see if our concrete class has an id
resolver registered.
LPS-47664 Track all TagViewExtensions and map them using the tagId +
extensionPoint.

On each call to the tag we will look in this map to see wether we have
an extension registered for this particular instance at a particular
extension point. We use the extension point as part of the key to index
the extension because it is faster and easier to look up.
LPS-47664 Update blame
LPS-47664 Provide a descending iterator
LPS-47664 Extract logic to reusable public class
LPS-47664 Convenience method to look for extensions at certain points
and, in case that they exist, invoke them in the provided order.

I believe the order is important in the case of the view extensions. In
the event that we have multiple extensions registered for the same point
we need to establish a priority. In this case the higher priority
extension is going to be executed "more outside" than the lower priority
extensions.
LPS-47664 Look for extensions at these points and execute them in case
any are found.
LPS-47664 Move interface to portal service and change name to
IncludeTagExtension
LPS-47664 Move trackers to new IncludeTagExtensionUtil

This class is just a holder for the service trackers since util-taglib
is copied around.
LPS-47664 Handle wrapped response so that extensions write using the
writer of the tag
LPS-47664 Basic structure for new osgi module

This module will enable formtag as a view extension
LPS-47664 Specify plugin version
LPS-47664 Add dependencies
LPS-47664 Example resolver
LPS-47664 Example includetag view extension
LPS-47664 SF