abstract nokogiri-related DS methods into a reusable mixin

This is a proposed change to:
1) Make it easier to have non-Om, Nokogiri-backed datastreams
2) Ensure that OmDatastream and NomDatastream depart intentionally in their Nokogiri handling