Add new 'model' technique, revised branch spec operations, test Auth::Middleware.
The Ruby client now does *not* strictly type anything, but extends OpenStruct with helper methods to help deal with inconsistent data formats.
See the OpenModel class documentation for more details.
The Auth::Middleware class is also *finally* implemented as well. This does not take into account all possible variations of server behavior (yet), but that will happen in follow-up work.