engine-independent logic test abstraction

pushing engine-independent logic into `*SuiteBase` traits of math-scala. Each enginen should run them successfully. to embed with engine, just create an inherited suite along the lines 

    /** DRMLike tests -- just run common DRM tests in Spark. */
    class DrmLikeSuite extends FunSuite with DistributedSparkSuite with DrmLikeSuiteBase

Substitute DistributedSparkSuite with Distributed<Engine-name>Suite that initialized context, perhaps for every test independently.

So, is this a mandatory check/behavior? In h2o engine, the Matrix provided to mapBlock() is an instance of "H2OBlockMatrix extends AbstractMatrix", and neither a DenseMatrix nor SparseMatrix. H2OBlockMatrix is a 0-copy virtual Matrix exposing just the partition's data (created at almost no expense), and creates a copy-on-write Matrix only if modified by the blockmapfunction.

So the above two tests are failing. Can these two be rather moved into sparkbindings test?