H2OMatrixTask: a distributed map/reduce computation wrapper around MRTask2

- Generic class which can be given a specific MType by an algo implementor.
  MType is the return value of map() and the parameter/return value of
  reduce().
- maps over each row of a Matrix, passing it as a Vector to map().

- Modify KMeans to utilize H2OMatrixTask for its computation instead
  of a naive loop over rows.