Fix chains + groups not working with json task serializer (#2076)

Was having the same issue as described in #2706, and had a little look into it.
It seems that when using the JSON serializer, the tasks were being passed as dicts, so I've simply called `signature()` on them before continuing, which will build the signature from a dict.

This should be fine even if they are already signatures, as it just calls clone and passes it back.