add DiagonalMatrix expression

Conflicts:

	sympy/matrices/__init__.py
	sympy/matrices/expressions/__init__.py
add DiagonalOf

Conflicts:

	sympy/matrices/__init__.py
	sympy/matrices/expressions/__init__.py
add dimension declarations
add dimension_initialization
add dimension initialization
Merge remote-tracking branch 'maxhutch/compblas' into compblas

Conflicts:
	sympy/computations/matrices/fortran2.py
refactor fftw tests

Separates DAG compilation from fortran code generation
remove good_computation
add more difficult test for FFTW
variable initialize/destroy query expressions
add eigendecomposition
makecond accepts callables
wrap rewrite_rl rename in try/except block
add Block Matrix computations
normalized string function in dot
test blockcut computation
add blockcut matrix multiply test
use 1.0 rather than 1 in BLAS/LAPACK patterns
add linear regression numeric test
Attempt at adding SYRK.  Not working, pushing to mrocklin can see.