Port the unauthenticated/existing draft Comment Dialog changes to master.

This updates the Comment Dialog to slim down when unauthenticated or
when there's an existing draft, just like the recent change for 1.7.

With this change, CommentEditor now requires a ReviewRequest. Unit tests
had to be updated to account for this.

Unit tests were also added for all the new states.