3691: Symbolic determinant implementation

This patch implements symbolic determinant addressed in Issue 3691: http://code.google.com/p/sympy/issues/detail?id=3691. I am trying to implement rest of the things mentioned in this issue.