Resolved issue #2055

Remove the `double round(double)` in pymath.h for Win32 only by defining
`HAVE_ROUND` via the `-D` switch of `nvcc`.
The `double round(double x)` function is present in CUDA
6.5.13/6.0.37/5.5.22/5.5.11/4.1.28/4.0.17, so I think it's safe to remove
the one in `pymath.h`.
pep8
In the ShapeFeature, convert x.shape[1] to Shape_i. This will help compare shapes.
Add ShapeFeature.same_shape, that try to compare 2 var shapes.
Add local_useless_inc_subtensor.

Remove the IncSubtensor when we can infer all the shapes are the same.
Make opt local_useless_subtensor convert to subsample when we reverse.
Disable opt in some case discovered in new tests crash with the new opt.
Make optimization more deterministic
Merge pull request #2060 from ziyuang/master

Resolved issue #2055
Better auto function name if we call var.eval().
small doc update on Theano vision.
skip some tests when scipy isn't available.
Add comment
Remove old deprecated stuff.
Disable code optimization warning that I think shouldn't be done.
pep8
Fix test in FAST_COMPILE
[CRASH] Fix crash with partial shape info in conv2d on the CPU in FAST_COMPILE.

This was discovered by the daily buildbot.
Merge pull request #2067 from nouiz/mixed

Mixed
[CRASH] fix crash on the GPU with {inc,set}_subtensor and broadcasting the value