check for non-unique user
Refactoring
common methods moved to common interface
added new string properties
column type in user Role changed to RoleType enum.
Merge remote-tracking branch 'origin/Develop' into Develop