Profile edit and public profile pages

Completes #11