Fix up runner test.

We always setup signal handlers (even in development/test). So tests
should reflect that.
Fix up Commander::RackHandler

1. #get_instance should provide singleton behavior.
2. It should pass on correct params on to the c'tor.
Changes to Commander::App

1. Craft rack response in a more robust fashion (always wrap the
   return body in an array).
2. Better logging for uncaught exceptions during request handling
   (by the controller).
3. Accept opts in App c'tor, which we'll eventually use to pass
   additional config on how the app should be setup (maybe expose
   additional statistics endpoints, etc).
In test mode, use shared memory db.

QLite3 uses a per-connection in-memory db by default. This change
causes it to use an in-memory db across all connections.
Add debugging packages to the image.

(Yet to make this conditional).
Add sudo package - which allows us to log in (bash) and diagnose
problems on built machines.
Connect to temp db in test mode.

We cannot use a :memory: db in test mode, because it is created on a
per-connection basis, which means our multithreaded server (which has
many connections) will not see a consistent view of the DB. There is
a "file::memory:?cache=shared" mode that ActiveRecord/SQliteAdapter
don't seem to pick up and propogate onto the sqlite driver. [:(]