Rdf iteration

https://www.pivotaltracker.com/story/show/57304426

This PR is half of the issue named above. It provides all the machinery for an interator-based approach to RDF generation. It stops short of actually changing anything recognizable as a public contract from the kernel. This is based on discussion between @awoods and @ajs6f in which we concluded that a two-step procedure would be safer and more manageable. Currently, this PR is meant mostly for code review and criticism. It could be merged directly without breaking anything, but the performance/memory usage improvements of an iterator-based approach will not become visible until they are exposed outside the kernel (e.g. in fcrepo-http-api).