Stop having a module with the same name as one of the main exported functions.

This leads to much confusion in user code because the names are sometimes switched.
Add a way to keep the temporary source files around (for debug).
Fix concatenate type inference to match (correct) numpy behaviour.
Rename PyGpuArray to ndgpuarray
Merge pull request #30 from abergeron/maint

Fix bugs exposed by theano