Convenience functions

Among other things, add `stack-core-filter-data' to create subfilters within elisp itself.

Also move test suite to its own directory and create a means to load that data quickly.
Oh, yes—that's functionally the same. I seem to have a bad habit of reimplementing functionality :smile:

I'll note that a filter of `(2 (1 2 3) 1)` will not work, but it's also not a valid filter anyway (assuming all nodes in the tree have unique identifiers). So your `oma` will work; I'll include it in the next commit.

A note about speed here: we're iterating over the list twice in the worst case. I'll leave a TODO (per your comment below). In this case, I *really* don't think we're going to see a big difference—and `oma` is *far* more readable.