Added benchmark to compare operations implementations

Can you please do the following:

 - Merge in upstream/master so that the additional commits aren't in this PR
 - Merge this PR
 - Change the way the MinN and MaxN's apply method are implemented to fit the new style of writing operation objects:
    - The signatures of the apply should deal with 'Raster's instead of `Op[Raster]`. 
    - The RasterSource methods then would use 'combine' instead of `combineOp`
 - Remove the traits, I think having only 2 overloads means we can put the RasterSource methods on `LocalOpMethods` directly.

- Add the appropriate methods on `LocalMethods`, so that these operations exist on Raster as well.
- Add a benchmark that does a more simple version of this operation (using an ArrayBuffer over the values for example) to prove that the methods you invented are indeed faster then a simpler method.
- Change the operations to use the fastest one (keeping the other implementations in the benchmarking code), and remove all unused code.

@jchien14 let me know if you have questions. Thanks.