Got rid of the bcs matrix type and added a new type-bound procedure matvec_add which does what it sounds like
Block matrix module compiles
Matrix unit tests now checks operations on asymmetric matrices and multiplication by transpose
Added block matrix unit test, which is giving a seg fault when I try to use matvec. Will investigate.
Fixed the bug in block matrix routines.
Merge branch 'development': deleted some of the old block matrix modules which were kind of bloated, and added a nicer one for nested block decomposition.