removed special-casing of batch_size == 1 in various places, though not all

A quick fix, since this has caused problems before. I didn't add the special-casing, so not sure yet if this will break tests.

Left one special-case intact, since I wasn't sure what it did. See comment on line 1647.
The main thing this does is provide a hint to Theano that it can use GEMV rather than GEMM. The ndim should still be 2. Can you be more specific about what problem this is causing?