Static Reference Rewriter implementation

This is an implementation of a Sling Rewriter pipeline component which can rewrite script references, CSS references, and image references (actually any HTML attribute) to prepend a host name. This is intended for use when using "cookie-less" domains.

The idea is that you have this:

    <script src="/etc/clientlibs/granite/jquery-ui.js"></script>


And you want

    <script src="//static.host.com/etc/clientlibs/granite/jquery-ui.js"></script>

For even more optimization, this component can also be configured to multiplex between N number of hosts, i.e.

    <link rel="stylesheet" href="//static1.host.com/etc/clientlibs/foundation/jquery-ui/themes/default.css" type="text/css"/>
    <script type="text/javascript" src="//static2.host.com/etc/clientlibs/foundation/shared.js"></script>
    <script type="text/javascript" src="//static3.host.com/etc/clientlibs/granite/jquery-ui.js"></script>
    <script type="text/javascript" src="//static4.host.com/etc/clientlibs/foundation/jquery-ui.js"></script>
    <script type="text/javascript" src="//static5.host.com/etc/clientlibs/social/commons/ckeditor.js"></script>

This is done through a hash-based algorithm that ensures a relatively even distribution, but one which is consistent, i.e. /etc/licentlibs/granite/jquery-ui.js will always be served from static3.

Also included is a base class (AbstractTransformer) which cuts down on the boilerplate code needed for a Transformer component. And a minor enhancement to the OsgiPropertiesUtil class.