Handle no_release properly

For our development and staging environment, we deploy all roles to the same machine. We prevent tasks from being run twice by marking all except the app role as `no_release`.

```
role :app, 'development.silp.com'
role :clock, 'clock.development.silp.com', :no_release => true
role :worker, 'worker.development.silp.com', :no_release => true
```

Both the :app and :worker need assets, so we define `assets_roles` as follows:

```
set :assets_roles, [:app, :worker]
```

In production, we just remove the `no_release` flag and all tasks get run on each server.

capistrano-rails/assets ignores the `no_release` flag and executes the task for all roles. This is unnecessary and also leads to duplicate manifest files which in turn let's the whole deployment fail with the infamous `...assets_manifest_backup’ is not a directory` error. Also see #33 and #91

This pr uses `on release_roles` instead of `on roles`