Wire dumping of generated code into all backends

Rather than being opencl-specific, make it so that the dump_gencode
parameter causes generated code to be output on all backends.
Additionally, switch to using the md5sum of the generated code as the
uniquifier, rather than the time the code was generated.
pyyaml is no longer a dependency