Support checking structs for equality.

Also:

- Rename _fields to _fieldnames, because the history of this
  CL shows that _fields is confusing
- Fix some lint errors.

Change-Id: I23d0191e6a588820b3697b2d36d70880ea921d8a
2 files changed