This finishes the work started in #766, ensuring that requests to
canonical URLs of blogs and posts (not just at their API endpoints)
respond correctly to `application/ld+json;...` requests.
Fully addresses issue #564
On an instance with millions of posts across all users, a single blog with
thousands of posts on it can take a long time to render. This adds an index
to the `posts` table to speed up the basic GetPosts query.
Run: `writefreely db migrate`
This adds a self-serve password reset page. Users can enter their username
and receive an email with a link that will let them create a new password.
If they've never set a password, it will send them a one-time login link
(building on #776) that will then take them to their Account Settings page.
If they don't have an email associated with their account, they'll be
instructed to contact the admin, so they can manually reset the password.
Includes changes to the stylesheet and database, so run:
writefreely db migrate