Fix incorrect usage of attrs
Revert "Fix incorrect usage of attrs"

This reverts commit 04aa0885bb143fd0409fe133ca572004ffa6dc0e.
Let backbone get changed attrs
Revert "Let backbone get changed attrs"

This reverts commit 4dd4990ff146508894353e390601c659d2638ed3.
Added test that shows the problem.
Fixed typo in new test
Only send diff message if diff isn't corrupt.

Diff will corrupt if more then one model.set(...) call is made
before model.save (or view.touch() in our case).
Keep a running diff instead of forcing a full state update
Fixed typo
Added a test to make sure full state was not getting sent.
Fixed, set on recieve update triggering echos.
Merge pull request #5059 from jdfreder/widgets-patch-fix

Fix incorrect `Patch` logic in widget code