Add SubBlock type and support it where needed

SubBlock is a specification of a submatrix, constructors and routines
taking submatrices as parameters have been updated accordingly.
Fix include path for YouCompleteMe