Allows list headers to be specified

Hey guys,
I apologize in advance for the Java-tastic nature of this change, there's practically enough introspection in this guy to fill up a late 80's Cure album.  The reason for all of that is to provide for flexibility when defining lists of assets, and to provide for retrieving and templating asset attributes which cannot be retrieved by a simple asset metavalue tag lookup.

I'd recommend approaching this pull request by looking at conf/application.conf and moving down from there, and here's an explanation of the new directives:

Global config directives:

listtags.all.order: a comma-separated list of either asset metavalue tags or method calls on an asset object being listed, with method calls signified by a prefix of ~.  Since certain asset attributes must be retrieved by method calls on an asset object, I looked around for a character which would be unlikely to appear in an asset tag, and the ~ character seemed to fit the bill.

listtags.all.default: an HTML snippet representing the default value to use when no value is returned by an asset metavalue tag lookup or method call.

Per-metavalue tag/method call config directives:

listtags.<metavalue tag or call>.decorator: HTML snippet specifying a decorator for the value of a metavalue tag or method call, allowing methods of the signature <method>(asset: Asset): Content to be templated inside it, to allow for calling arbitrary methods for the asset being listed.

listtags.<metavalue tag or call>.formatter: Method to format value of metavalue tag or method call, with all currently specified within the Formatter object.

listtags.<metavalue tag or call>.header: Allows for a custom column header to be specified.

listtags.<metavalue tag or call>.showif: Method of the signature <method>(assets: Page[AssetView]): Boolean used to determine whether the column specified by the tag or method call should be shown.  If none is specified, column will always display.

Let me know what you think of this; if you guys have any ideas, I would be very interested to hear them, as it'll help me get a better handle on Scala.  Thanks much!