Alternative Interface

This is getting safe and unsafe agents, where the unsafe agent has an Activerecordesque interface

added safe, unsafe, safe?, and representor methods to agent
extended base_client and http_client to include information about interface methods
renamed Representor to RepresentorAgent
created SafeRepresentorAgent which behaves like the old Representor
added interface to convert representor between these types
renames Transition to TransitionAgent
made TransitionAgent dispatch to the correct Representor type
Spec'd out interface
renamed Representor and Transition references to reflect naming convention
Proper style here is to call `super` rather than `raise(NoMethodError)`, for multiple good reasons, but I guess this is a placeholder anyway while we decide on behavior.