Node vs. PythonFunction and a hidden bug

I ran into a bit of a snag with NengoOCL and turns out it is a bug in master. The commit below triggers it.

I think the trouble is that Nengo is currently assuming that all PythonFunctions take time as the first input. This wasn't noticed because the PythonFunctions in the unit tests all use numpy ufuncs, which *do* run on double-arguments, but they don't behave as expected: they use time as the input and write the result *to* the second argument (which was suppose to be the input).

After the recent discussion in #224 I don't know what to suggest as a fix. But I think there is a problem that needs some attention here.