Refactor imagebufalgo.cpp -- too much code for one file, split it into parts

Refactor imagebufalgo.cpp -- too much code for one file, split it into parts

* imagebufalgo_compare.cpp - analysis and comparison of images
* imagebufalgo_copy.cpp - move pixels or channels around, don't change values
* imagebufalgo_pixelmath.cpp -- math on single pixels at a time

Everything not falling into these categories was left in imagebufalgo.cpp. This nicely splits the IBA functions almost evenly between the files, which will make much kinder compile times when tinkering with any one.

Not a single line of code has changed, it's just moved from file to file. So I'm going to merge it immediately, no code reviews needed.  But I'm posting it as a pull request just so everybody following the code development is aware of what I've done.