Improved routing stability with subsansoms

Previously, Pine::Node was only partially aware of subsansoms. Methods
like `leaf?` completely disregarded them. This is no longer the case.

Also, when a semiwildcard is added, it will no longer overwrite siblings.

Minor fixes: url params now make it to a permanent place in the Rack::Request's
env hash.