Added a very basic workflow in `Agent.run()`

Performed a lot of cleanup as part of this.  This commit includes some changes
outisde the scope of this topic branch.  Bad me.
Merge pull request #28 from retr0h/retr0h/basic-run-workflow

Added a very basic workflow in `Agent.run()`