Add environment lock/unlock/locked handling

This PR adds support for `deploy:lock` and `deploy:unlock` tasks.

These tasks are intercepted and handled separate from any provider.

When an attempt to deploy to a locked environment is made, we'll send up an error deployment status with a description including who locked the environment.

Addresses #55 
Awesome, I'll take a look tonight and hopefully get it merged down.

On Tue, Oct 28, 2014 at 1:33 PM, Devon Blandin <notifications@github.com>
wrote:

> In spec/spec_helper.rb:
>
> > @@ -30,6 +30,21 @@
> >      Resque.inline = true
> >    end
> >
> > +  config.around do |example|
> > +    original = Heaven.redis
> > +    Heaven.redis = Redis.new(url: 'redis://localhost:6379/3')
> > +    example.run
> > +    Heaven.redis.flushall
> > +    Heaven.redis = original
> > +  end
> > +
> > +  config.around do |example|
> > +    original = Deployment::Status.testing?
> > +    Deployment::Status.testing = true
>
> That seems fine to me. Just made that change.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/atmos/heaven/pull/96/files#r19501423>.
>