Added tests for user repository queries
Move query responsibilities to search_by_name method
Use custom exceptions in user repository
Added tests for save and update methods in user repository