Implement Sequel::Model message infrastructure for TorqueBox

This provides a general purpose message handler for routing messages to
Sequel::Model instances using the TorqueBox infrastructure.  Rather than
having hand-crafted message handlers for every message, this provides a single
instance of the "load the instance, send a message to it" pattern that shows
up time and again internally.

The expected use from a user point of view will be through a Sequel::Model
plugin, providing the syntax:

    Razor::Data::ModelDerivedClass.new(...).publish(message, arg, arg, arg)

That is, roughly analogous behaviour to `public_send`, modified by the fact we
will travel through a message queue.

Internally this uses the EDN encoding, via the `edn-ruby` gem, to encode and
decode values; unlike JSON, this is capable of representing Ruby symbols, and
Time objects, allowing higher fidelity transmission of message arguments
through the queue.

These messages are not intended for use outside the single class, so
interoperatibility is not a substantial concern in the choice of encoding, and
EDN is supported in TorqueBox out of the box.

This also adds a plugin that adds the sugary `publish` method to all
Sequel::Model instances, allowing callers to publish that message for later
consumption using the TorqueBox message queue.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Implement the image file download workflow

Implement image download, and related behaviour, using the background
messaging capabilities of the image instance.  This makes the image accessible
as a local file, by downloading it if necessary, or by checking that it is
readable if a local file.

Once the file is accessible, a message is sent to the same instance to trigger
the unpacking of the file.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Implement the image unpack workflow

This brings actual unpacking of images, using the external `7z` archiver, into
the codebase.  While imperfect, this is a reasonably inexpensive way to get
image unpacking working for arbitrary ISO (and, coincidentally, tar) images.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>