Little cleanup.

1. Use devise defined helper method for filtering request.
2. Extract loading and validating user in before_actions.
3. Set proper flash messages, when user not found and whether he/she is unauthenticated.
4. Avoid raising exception if user not found for the params[:id]