Daemonization process is required to allow for flows to constantly run in the background

Changes
=
* added daemons to gemfile to facilitate daemonization
* did a lot of other shit
Daemonization requies actually demonizing.

Changes
=
* Implemented Daemons.daemonize in the commander
* refactored the flow around a bit to return the tasks instead of their terminal states
* refactored the runner a bit to spit out better error messages
Version bump to 0.4.0
Updated the test to use name error instead of throw symbol
Regenerate gemspec for version 0.4.0