Print the optimizer profile on the right destination.
Faster opt local_fill_cut
Faster and simpler opt local_mul_to_neg
Code simplication
add theano.scalar.get_scalar_type(dtype) to cache Scalar(dtype) object.

This speed up optimization.
Print more info in the optimizer profiling
Faster opt by not doing useless stuff.

This make the Canonizer take 4x less time in a test case.
Remove useless fct call
Pass the reason parameter down.
local_mul_to_neg now only apply when it won't add node to the graph
remove local_mul_to_neg as it doing a subset of local_mul_specialize
local_mul_specialize now don't introcude neg node when this will add more node then needed.
remove commented code.
fix/update comment/docstring.
client of variable can be the string 'output'
Fix test since now we introduce less neg node.
Add more error information.
Better manual openblas instruction.
Merge pull request #1717 from nouiz/faster_opt

Faster opt