Separate data and content parsing.
Add data and content parsing hooks to execute callbacks.

This allows the implementation to execute arbitrary data transformations as before/after callbacks.
Add support for url generation.

Process data[:permalink] to build a url using file metadata attributes. Note the url is generated to '_url' since urls have no concept of base_path support. That is, an implementation may need to alter the '_url' with a base_path or other logic and so 'url' is reserved for this purpose.