[46357451] user deactivation support without breaking the system 

We cannot simply delete departments & users which contains activities within the system

Factors need be considered:
1 the disabled user  cannot pass devise authentication
2 For active opening/interviews' edit, the disabled username should not show in the list which is for interviewer/hiringmanager/recruiter's selection.
3 For closed/inactive opening/interviews' edit, the already configured disabled user can still show in the list, and be set back.

4  Now only the admin can disable users, and the admin cannot disable himself/herself.
    In future if the user management privilege is granted to more roles, any user cannot disable himself/herself.
5 cannot disable an user when any of the following cases is true:
    he/she owns active openings as a hiring manager;
    he/she owns active openings as a recruiter;
    he/she owns scheduled/ongoing interview as an interviewer;
6 The admin can easily find the disabled user, and re-activate the account if necessarily.
7 When adding new user, if the email conflicts with any earlier email (even of disabled user), the system should prompt that "Email already exists". This behavior is unchanged.

For department, if it has any opening & users, cannot delete it either.