Optimize the generic ChaCha12 implementation further.

Using temporary variables instead of indirect memory access is a decent
speedup because the compiler is smart enough to use registers, at least
on amd64.  Don't care about register starved architectures that much.

The next step is to include a SIMD amd64 implementation, though
performance is vaguely approaching usable now.
Abuse "unsafe" to skip endian conversion for the Permute() routine.

While this is really dumb, it speeds up signing by 100 ms on my
desktop.  This is probably about as fast as the code can get without
dipping into assembly implementations of stuff.  Not sure if I can be
bothered at this point, since AVX2 isn't widely available yet.