Adds subscriptions for each discussion

When a discussion is created, all users are subscribed to it by default

The state of the subscription can be:
* new: someone else created the discussion
* unwatched: Old discussion that I'm not following
* read: No new updates
* unread: New updates on a discussion I'm following

Whenever a comment occurs, every one who is not the comment's author and is subscribed to the discussion gets his state changed
Is this syntax ok with rubocop?

I would prefer:

```ruby
new_state = if discussion.author_id == user_id
    :read
  else
    :new
  end
```

I would prefer even more:

```ruby
def set_initial_state
  return if state

  update state: initial_state
end

private

def initial_state
  if discussion.author_id == user_id
    :read
  else
    :new
  end
end
```

This has the added bonus of following the Sandi Metz "rules".