Re-add the max iteration for equilibrium optimizer
Allow theanos.sparse.add() with ndarray-like as input
Add method SparseVariable.toarray()
Add comment following code review.
Don't make inplace dimshuffle when buildbing the graph.

During opt, we remove them at first and reput them after.
Add string name to some optimizers
more optimizer profiling information printed.
Speed up the compilation with many incsubtensor(grad of subtensor).