storage: add state to Instance
managers/ec2: starting to refactor the instance creation

Now it will be done in background, by another process.

Here is the flow:

  1. service-add will create the instance in the database, with
     the "creating" status
  2. a process will get all instances in "creating" status and call a
     method in the manager to create the "physical" instance (something
     like scale_instance(instance_name, 1)), and then change the state
     to "created"

In order to make sure that the process described in the second step is
parallel safe, we will use a distributed lock to change the state to
"starting". So we can have as much instances of this process as we want.
In pseudocode:

  locker.lock("instance_starting")
  instance = collection.find_one({state: "creating"})
  collection.update({name: instance.name}, {$set: {state: "starting"}})
  locker.unlock("instance_starting")
  # do things with the instance

The next step is providing this process (somethig similar to the VCL
writer) and a way of running it (I will include it in the sample
Procfile).
managers/ec2: add method to create the physical instance

The method is just a forward call to scale_instance, but doing this way
make it easier to extend the instance creation. Imagine a manager that
will create an Elastic Load Balancing (ELB) instance whenever the
FEaaS instance is created. The code would look something like this:

    def create_instance(self, name):
        instance = super(MyManager, self).create_instance(name)
        # create the ELB

Related to #24.
all: rename add_instance to new_instance

Related to #24.