refactor user creation/github data sync logic and add some controller before_filters