opencl: Accept arbitrary kernel filenames, provided they specify a kernel interface somewhere in the source file

File must include the string "kernel-interface:" followed by one of the known interface names
opencl: Search all the same kernel paths when setting kernel
opencl: Replace dated versioning with hash of source code
opencl: If kernel does not specify an interface in scrypt mode, assume it's the scrypt interface
Merge branch 'opencl_kernelapi' into bfgminer