introduce DiffsController
remove diff action from files controller
split diff computation into many small functions
add specs on DiffsController