Restore accidentally deleted commits

That's what happens if you let Windows machines write :(
Implement more opcodes
Change test target (Verified with node.js)
Prepare signature function caching
Use reader instead of indexing
Clarify a couple of calls
[youtube] Add filesystem signature cache
[youtube] Improve cache and add an option to print the extracted signatures
Update static signatures
[youtube] Improve source code quality
[youtube] Actually pass in cachedir option
Move cachedir doc
[youtube] Remove _decrypt_signature_age_gate
Work around nosetests nosiness
[youtube] Improve flash player URL handling
Do not warn if fallback is without alternatives (because we did not get the flash player URL)
Correct test strings
[youtube] update algos for length 86 and 84 (fixes #1494)
[youtube] Update one of the test's description
Allow opts.cachedir == None to disable cache