US38: Move edit actions to EditableMask.

- Renamed MergeMap as EditableMask. Renamed anything called *index* to *mask*.
- Move DngFloatWriter::buildIndexImage to EditableMask::writeMaskImage.
- Move EditAction, undo and redo from PreviewWidget to EditableMask.
- Fix Bitmap::applyRowMask, with a buffer overflow under certain situations.
- Fix Image::relativeExposure to use all the common area between two images.
- Fix ImageStack::align to align images from least to most exposed.
- Renamed ImageStack::findIntersetion as ImageStack::crop, because it crops the image to the optimal size.
  Otherwise, the active area is the least exposed image.
- Add checkbox to LoadOptionsDialog to crop the final image.
- Fix Render, to clip negative values.
US38: Small optimizations.
US38: Optimize mask creation.

- Optimize the mask creation process to make it faster.
- Fix Bitmap::resize to reset the last unused bits.
- Add a saturation threshold 1% lower than max value.
- Add time measurement methods to Log.hpp
- Fix tests that have changed since last commit.
US38: Fix sporadic unsaturated pixels in mask.
US38: More robust MTB alignment.
US38: Add support for not cropping the result.

- Use Image::contains in EditableMask and ImageStack when the result is not cropped.
- Fix order of arguments of serveral methods that take a pair of coordinates.
- Fix Image::contains with signed parameters, to correctly compare with dx and dy.
- Several refactorings.
US38: Add --no-crop switch
US38: Small improvement saving the DNG file