Make debugprint() support int, long, float and ndarray.

This easy debugging as we don't always know the object type.
make local_subtensor_of_alloc detect the right broadcast pattern more frequently.

reported by Ira Korshunova
Fix the case where local_subtensor_of_alloc wasn't computing the right broadcastable. It was due to a wrong broadcastable in Subtensor.make_node()
get_scalar_constant_value() support more Elewmise op.

Needed to detect the right broadcast pattern.
Small modif to make the output of get_canonical_form_slice() simpler<

and test that the opt was applied.
Fix crash during error reporting.
Make Subtensor.make_node() detect more broadcastable dimensions.
Add unbroadcast in an opt.
re-enable get_scalar_constant_value() on Second when only the value is constant.
Make Subtensor.make_node detect more broadcast pattern.
small code clean up following code review
Don't always instantiate new object.
Print more stuff to stdout to help make travis-ci don't error.
Make travis-ci don't fail for a long test.
Merge pull request #1655 from nouiz/local_subtensor_of_alloc

Local subtensor of alloc