Extract the logic for building a user photo in UserPhotoService

Add a builder for creating user photos allowing the specification
of different photo modifiers.
Refactor UserPhotoService and rename helper methods