Feature/softmax unfold

Bunch of changes, all with tests:

* unfolded the derivatives for softmax
* added log_softmax
* vectorized categorical_log and optimized
* added categorical_logit
* added log_sum_exp for vector, row vector and matrix with unfolded derivatives
* added op_matrix_vari class to support log_sum_exp