Rearranging private methods

Moving the collaborators to the bottom of the heap. I don't know
if this is the best way to do this.
Rearranging (again) public/private methods

Given that the defaults are part of the initialize and call makes use
of the other functions, it felt appropriate to group the methods
together.

I'm not certain if this is the best way of doing it, so I'm going to
eventually solicit feedback.
Adding value conversion error spec

This was an oversight, but perhaps a Value should always be
"convertable".