[new][based on reverted project]admin can send join link to new instructors

1. redo the changes to the reverted project
2. now by default sample data will be imported for new instructor
3. modify the joinCourseForInstructor method to handle both instructors added by admin and other instructors
This method is too long and nesting too deep. Simplify. e.g. extract into private methods.