Integrating go-fed into Gitea

@techknowlogick I think the implementation is ready for review. Now comes the delicate part (because I do not have a GitHub account). Would you mind copy/pasting it on my behalf and create a pull request from it? Don’t hesitate to tell me if this is too much right now and I’ll ask someone else.

  • Commits: git clone -b wip-go-fed https://lab.fedeproxy.eu/dachary/server
  • Title: activitypub: implement /api/v1/activitypub/user/{username}
  • Description:
These two commits:

* add [go-fed](https://github.com/go-fed/activity) as a dependency of Gitea: it is a requirement to move forward with [federation](https://github.com/go-gitea/gitea/labels/theme%2Ffederation#). 
* implement the **/api/v1/activitypub/user/{username}** endpoint which:
  * verifies the username matches an existing Gitea user;
  * creates an ActivityStream [Person](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-person) using the [ActivityStreamsPerson](https://github.com/go-fed/activity/blob/d866ba75dd0ff3ddd3a72b132b7cc16e01f6e006/streams/vocab/gen_type_activitystreams_person_interface.go#L12) object provided by go-fed;
  * sets the [Actor required fields](https://www.w3.org/TR/activitypub/#actor-objects) (inbox, outbox) and the [Object required field](https://www.w3.org/TR/activitypub/#obj-id) (id). The type of the object is already set by go-fed.

It includes integration tests that verify the ActivityPub message can be decoded (using go-fed) on the receiving end.

Discussion topics:

* [Adding go-fed as a dependency to Gitea](https://forum.gitea.com/t/adding-go-fed-as-a-dependency-to-gitea/3996)
* [Integrating go-fed into Gitea](https://forum.gitea.com/t/integrating-go-fed-into-gitea/3971/3)

Refs: https://github.com/go-gitea/gitea/issues/14186