CollectionWriter refactoring

RUBY-676

I like this refactoring, as it eliminates a significant number of conditionals, cutting many methods in half where there was a choice between the old write operations and the new write commands.  All of the complex write-related issues are now in collection_writer.rb, and collection.rb is again very clean.

I'm in the process of testing that this is more performant, but thought that I'd submit this earlier for review and comments. Hope that you like it. I'll add the performance results as soon as they are available.