Slicable module for splitting ops into n children ops

If a write operation is too large to send, I'll want to split it into multiple children operations to be sent individually instead. This module can be included in an operation and it splits an array element of the spec between the children ops.
Not entirely necessary for public use, but I thought for internal use it might be useful. It would be a reminder to anyone mixing-in the Slicable module to another (future) op that they would have to implement the #slicable_key
Otherwise, we are relying on them reading the documentation here.

https://github.com/mongodb/mongo-ruby-driver/pull/453/files#diff-a13e537e26155ad8b0d2fccf2410d3ceR22

I don't really care either way, less code is cool.