add test for applying empty set to view
View manipulation fixes

View manipulation (primarily `match`) was too closely tied to how NokogiriDoc works, causing issues using StringDoc. This refactor improves `match` and also fixes several edge cases encountered with StringDoc.
Always refind scopes, containers, partials

Refinding was an artifact of making NokogiriDoc as efficient as possible when it was the only option. We've now abandoned that since StringDoc should be used for speed, NokogiriDoc for convenience in cases where you need to do special things to the doc.
Refactor ViewCollection#match

Simplifies the method to mutate self rather than create another ViewCollection object.
repeat/match specs to both docs
Soft copy doc when matching

There was a bug when more data than views, where the reference to the underlying structure was being lost due to duplication. This led to the creation of `soft_copy`, where the structure remains the same while the node is duped. Useful in cases where you want a new node but it'll be part of the same underlying structure (like matching).
Accept ctx keyword in ViewCollection#bind
Pakyow support gem

Contains stdlib mixins (and eventually utils) that pakyow framework code relies on. Ideally not to be used outside of the framework, because this isn't active support.
More explicit steps when running app

Goes through a prepare > stage > run process. This allows an app to be prepared for access to the environment without the overhead of building routes and views.