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
API nitpick: if you def `.safe_method?(m)`, etc. instead, I feel like this would be more future-proof. `@client.safe_method?(m)` looks more robust than `@client.safe_methods.include?(m)`