log: added Fatalf
provision/juju: store units in the database

Using MongoDB for this is just stupid. We may use a key value storage in
the future.

This is the first step in dealing with Juju self-healing capabilities.
Whenever a instances is deleted or stopped, Juju creates another, with
the same name (and in the same security group). We need to detect this
change, remove the old instance from the load balancer and add the new
instance to it.
app: export RegenerateApprcStartApp and QueueName constants

provision/juju will use these guys during self-healing proccess.
provision/juju: "healing" units as they change

When we stop or terminate an instance in Amazon, Juju spawns another
unit to replace the dead machine. A new instance have a different ID,
but the same unit name. We use a change in ID to detect that we need to
remove the old instance from the load balancer, add the new to the load
balancer and enqueue regeneration of apprc and start of the application
server.
provision/juju: fix test

String sorting. 10 < 9.
queue: support multiple queues on Handler

Now a handler is able to handle messages from multiple queues.
app: clean queue on SetUpSuite instead of SetUpTest

Protecting against other packages and external programs is ok, having
bad tests, not really.
app: support multiple queues

It now have two queues: internal and public. The internal queue is for
messages produced by the package, and the public queue is used by other
packages (provision/juju, for example).
provision/juju: adapt code to the new queue package

Now handlers support multiple queues.
app: make test more reliable
app: clean the queue in SetUpTest

I give up _for now_.
app: removed check for public queue
provision/juju: increase timeouts to avoid intermitent failures

When running all tests together, from times to times I get timeout
failures on these tests.