[WIP] Your data-lift is my data-lift: Reimplement data-lift as a data attribute parser.

This PR reimplements data-lift as a data attribute parser. This stemmed from a Lift hack day a few months ago, and I'm just now getting around to wrapping this up...

Few points of concern:

* I want to go through at some point and clean up the copy-pasting of helper methods that I did wrt MetaData parsing.
* I'm not entirely sure why I'm having to manually check for the parallel attribute in my parser. My understanding was that if my parser generates a `lift:` node, that should be processed subsequently by the regular SnippetNode parser, which does checks for parallel processing.
* Can someone make sure my implementation of handling parallel is even functional while we're at it? lol

All specs are passing, though. So that's something.

closes #1582 
Errrr... so at first I agreed with you. On looking at it a bit longer, I'm not so sure. It's structured very similarly because it's processing very similar data, but it comes with a different set of assumptions.

Really, the only bit that is pulled exactly is the `charSplit` we're doing and the processing of metadata. But that's because we have to produce a `lift:` node that has those in their first-class form.