Add username functionality

This adds a username feature, but template helpers are still needed to fix the posting issue.