Give Membership tab a url

With this PR the membership tab can now be reached via `profile.thegu.com/membership/edit`

Some refactoring of the way the template worked was required to do this.

if a user hits the url but is not a member then they will see a broken page for now. This may be changed in a future PR but since the URL is not referenced anywhere for the moment I think this is ok.

Thanks to @wpf500 for the scala help.
Why not directly link to the pushstate url? (and enhance it in JS)