Mixed mass example.

Based on specifications outlined at the MAPDES meeting on 7th December.
Block structure draft.
Get matrix unit tests working with sequential
Fix OpenCL test failures.
Fix some errors from the CUDA backend.
Add decorator for single block checking. Add test of check.
Use single_block decorator everywhere appropriate
Remove unused modes from mat
Handle Mat.dtype properly
Place common Mat properties in device.py
Add sparsity API tests for blocked sparsities.
Add blocked Mat API Test and missing functionality