Adding user comments with CRUD operations and markdown

@danvk @ihodes I believe I've addressed all comments on #378. I did an interactive rebase, but eventually just squashed everything into one commit and merged into this new branch, as ~100 commits were taking too long to elegantly squash into larger commits.

I've updated the pdifftests and SQL based on master.