Add hearts

I don't actually want to pull this in yet - it was based off of Jasen's branch. I'll do a cherrypick rebase when Jasen's branch is done.

Also, I feel like maybe I should refactor this? I use 'hearts' in the view, but likes internally. Wouldn't be much work to switch it, I just didn't know what nomenclature we wanted to use.