add functionality to edit and create topics
this MR adds the necessary functionalities to edit and create topics, either for the logged in user, or upon registitration.
closes #21 (closed), closes #26 (closed), closes #38 (closed) (which likely needs to be reopened and rephrased however)