Better error handling for unknown arguments

I was trying to track down a bug for quite a long time because
theano.shared told me that 'float32' is not a recognized datatype. It
turns out I was accidentally passing an additional type argument into
theano.shared but this error wasn't caught, only later.