Feature/updated design

@sheavalentine-mdsol @csavage-mdsol This is my proposed minimum viable API for Farscape R3. Have I taken out, or failed to add, anything we need? Note that we're still exposing the representor hash, as before...the API described here is just about entry points and hardcoded workflows.
I do not understand the need for a separate entry interface, and it seems to complicate things.
This makes sense
```ruby
Farscape::Agent.new(entry_point).enter
Farscape::Agent.new.enter(entry_point)
Farscape::Agent.new.enter # Raise Error
```

However this seems like WAT
```ruby
      agent = Farscape::Agent.new(entry_point).enter.transitions['drds'].invoke
      agent = Farscape::Agent.new(entry_point).enter("#{entry_point}/drds")
      agent = Farscape::Agent.new(entry_point).enter("unknown_resource") # Raises Error
```