Add implementation of custom-set exercise

This may be slightly different from other tracks' custom set exercises as I've
adapted the exercise to fit in with how the current sets in the rust base lib
work.

The example.rs has become quite large (260 lines) even though the conceptual complexity is fairly low (most of the tricky stuff is in DiffIter and insert, the rest is fairly straightforward).

Would appreciate a code review on this one, maybe I'm making some stuff more complicated than it needs to be.
Yeah, might be best not to be judgmental.