This pull request introduces two major new features to the calendar plugin: the ability to add a location/description to an event, and a new "My Events" view on the upcoming events page.
### Event Location
You can now add a `location` to an event. This is a free-text field that can be used for a physical address, a URL, or any other location details.
* A `location` field has been added to the event builder modal.
* The location is displayed in the event details in the post, complete with a new "location-pin" icon. URLs within the location field are automatically linked.
* This is supported by a database migration to add the `location` column, and updates to the event model, serializer, and parser.
### Event description
You can now add a `description ` to an event. This is a free-text field that can be used to describe your event.
* A `description` field has been added to the event builder modal.
* The description is displayed in the event details in the post, complete with a new "circle-info" icon. URLs within the location field are automatically linked. It supports linebreaks.
* This is supported by a database migration to add the `description` column, and updates to the event model, serializer, and parser.
### "My Events" Filter
The `/upcoming-events` page now includes tabs to switch between "All events" and "My events".
* The "My events" tab shows all upcoming events that the current user is "Going" to.
* This creates a personalized calendar for users to easily see their own upcoming schedule.
* A new `/upcoming-events/mine` route has been added, and the backend event finder now supports filtering by an `attending_user`.
### Other Improvements
* The calendar view on the `/upcoming-events` page now defaults to a "list" view on mobile for a better experience.
* The "Open Event" and "Close Event" actions now have a disabled/saving state to provide better feedback during the operation.
* System tests have been added to cover the new functionality.