Add options hash to task hash
Force roles to be a hash in all cases
Simplify method of retrieving the task list from capistrano
Remove HELL_ENVIRONMENTS construct in favor of task `:hell_tags`

Using an environment variable for something that is already specified via a task definition is both repetitive and ugly.

Rather than requiring the env variable, we instead use the notion of `:tags`. All capistrano tasks can already define a multitude of options. They are most commonly used for defining `:roles` and `:no_release`.

Because it is a hash, we can use it to define any number of custom options. We therefore use it to define a `:hell_tags` array, in which we can place any number of tags.

To define a task as an environment, simply follow the following task construct:

    task :production, :hell_tags => [ :environment ] do
      set :deploy_env, :production
      # All other configuration here
    end
Remove unused service construct