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.
For what it's worth, emacs-lisp doesn't do tail call optimization. So a while loop might be faster here.